#jquery #select #option #selected
#jquery #html-select
Вопрос:
var obj = $("form select");
alert(obj.find(":selected:eq(0)").val()); // works
alert(obj.find(":selected:eq(1)").val()); // Does Not Work
Как бы я нашел выбранный вариант среди остальных выбранных элементов, используя мой кэшированный объект obj?
var n = 2;
var nthSelected = $(":selected",obj[n]); //Seems to work
Доступ к отдельным элементам ваших кэшированных объектов также может быть выполнен с помощью .фильтруйте() следующим образом:
alert(obj.filter(":eq(1)").val());
Комментарии:
1. Я не обязательно пытаюсь перебирать все параметры ‘: selected’, мне интересно получить доступ к (n-му > 0) элементам моего кэшированного объекта. На самом деле я надеюсь избежать цикла, потому что, вероятно, так же быстро выбрать элемент напрямую, не используя мой кэшированный объект (например: $(«form select:eq (1):selected»)) Однако это не то, о чем я здесь спрашиваю.
Ответ №1:
var selectedValues = [];
obj.each(function() {
var selected = $(':selected', this).val();
selectedValues.push(selected);
});
//now you have an array of all the selected values. :)
Ответ №2:
Что-то вроде этого должно сработать:
var selects = $('form select');
var selected = $(':selected', selects);