51

我有一个 php 生成的列表,其列表项可以使用 jquery 可选小部件进行选择。所有意图和目的的列表是:

<ul id="#select-image">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
    <li class="ui-widget-content">Item 7</li>
</ul>

并且 jQuery 可选被声明为:

<script>
    $(function() {
        $("#select-image").selectable({
            selected: function( event, ui ) { 
                var $variable = $('.ui-selected').innerHTML; 
                console.log($variable);
            }
        });
    });
</script>

选择列表项后发生事件,在示例中它输出到浏览器控制台。然而,输出是“未定义的”。选择器$('.ui-selected').是正确的,因为它在浏览器控制台中显示为对象。我哪里错了?

4

4 回答 4

85

尝试

.text().html()而不是.innerHTML

于 2013-09-13T12:16:16.863 回答
9

使用.val()而不是.innerHTML获取所选选项的值

用于.text()获取所选选项的文本

谢谢指正:)

于 2013-09-13T12:14:44.797 回答
5
$(function() {
        $("#select-image").selectable({
            selected: function( event, ui ) { 
                var $variable = $('.ui-selected').html(); 
                console.log($variable);
            }
        });
    });

或者

$(function() {
        $("#select-image").selectable({
            selected: function( event, ui ) { 
                var $variable = $('.ui-selected').text(); 
                console.log($variable);
            }
        });
    });

或者

$(function() {
        $("#select-image").selectable({
            selected: function( event, ui ) { 
                var $variable = $('.ui-selected').val(); 
                console.log($variable);
            }
        });
    });
于 2013-09-13T12:26:51.330 回答
0

该参数ui有一个名为的属性selected,它是对选定 dom 元素的引用,您可以调用innerHTML该元素。

您的代码$('.ui-selected').innerHTML尝试为innerHTML具有类的 dom 元素返回 jQuery 包装器元素的属性ui-selected

$(function () {
    $("#select-image").selectable({
        selected: function (event, ui) {
            var $variable = ui.selected.innerHTML; // or $(ui.selected).html()
            console.log($variable);
        }
    });
});

演示:小提琴

于 2013-09-13T12:17:14.113 回答