51

jquery選択可能ウィジェットを使用してリスト項目を選択できるphp生成リストがあります。すべての意図と目的のリストは次のとおりです。

<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

Try

.text() or .html() instead of .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

パラメータには、選択した dom 要素への参照であるuiというプロパティがあり、その要素で呼び出すことができます。selectedinnerHTML

あなたのコードは、クラスを持つdom要素のjQueryラッパー要素$('.ui-selected').innerHTMLのプロパティを返そうとしていますinnerHTMLui-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 に答える