JQM: как получить (только 1) выбранный элемент (по выбору/клику) из SELECT (несколько)?

Редактирование: так как im new для JQM и я не нашел простой (JQM встроенный) способ сохранить (сохранить) заказы при выборе элементов из MULTIPLE, я сломал алго в моем уме, и я думаю, что вам нужно, чтобы вы встретились вопрос ниже, так что я могу получить рейтинг пользователей среди предметов в. PS Я предпочел бы как можно больше jqm.

Основная проблема. Как получить выбранный элемент (только 1)? Поскольку его кратность, как $(this).val() и $(this).text() терпят неудачу, после..

<select name="names[]" multiple="multiple" data-native-menu="false">'
 <option>opt1</option>
 <option>opt2</option>
 <option>opt3</option>
</select>

У меня этот jQuery:

$('body').delegate('select','change',function(e) {
 //selected_or_clicked_item = $(this).val();
 //after selecting multiple item - returns an array of all input ['opt1','opt3','opt2']
 selected_or_clicked_item = $(this).text(); // returns all concatenated options text - opt1opt2opt3
});

Я получаю только правильный элемент при первом выборе (например, opt1), после второго выбора (opt2) я получаю оба вместо этого (['opt1', 'opt2'] или opt1opt2)

2 ответа

This will work :-

$('body').delegate('select','change',function(e) {
 selected_or_clicked_item_val = $(this).find("option:selected:last").val(); 
 selected_or_clicked_item_text = $(this).find('option:selected:last').text(); 
});

I have edited my answer. check this. It will solve your problem.


Попробуй это

$('body').delegate('select','change',function(e) {
 //selected_or_clicked_item = $(this).val();
 //after selecting multiple item - returns an array of all input ['opt1','opt3','opt2']
 selected_or_clicked_item = $(this).find('option:selected').text(); // returns all concatenated options text - opt1opt2opt3
 });

licensed under cc by-sa 3.0 with attribution.