Подтвердить что ты не робот

Как получить innerHTML выбранного элемента jquery?

У меня есть список, сгенерированный php, элементы списка которого можно выбрать с помощью jquery selectable widget. Список для всех целей и целей:

<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>

Событие происходит после выбора элемента списка, в примере, который он выводит на консоль браузера. Однако выход имеет значение "undefined". Селектор $('.ui-selected'). правильный, поскольку он отображается как объект в консоли браузера. Где я ошибаюсь?

4b9b3361

Ответ 1

Попробуйте

.text() или .html() вместо .innerHTML

Ответ 2

Используйте .val() вместо .innerHTML для получения значения выбранной опции

Используйте .text() для получения текста выбранной опции

Спасибо за исправление:)

Ответ 3

Параметр ui имеет свойство, называемое selected, которое является ссылкой на выбранный элемент dom, вы можете вызвать innerHTML на этом элементе.

Ваш код $('.ui-selected').innerHTML пытается вернуть свойство innerHTML элемента оболочки jQuery для элемента dom с классом ui-selected

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

Демо: Fiddle

Ответ 4

$(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);
            }
        });
    });