У меня есть выберите опцию constrols, установленную в моей странице, что выглядит следующим образом:jQuery | Как получить выбранные элементы из выбора элемента HTML
<select multiple="multiple" name="name[]" id="ListId">
<optgroup label="Group 1">
<optgroup label="Group 1.1">
<option selected="selected" value="1">One</option>
<option value="2">Two</option>
<option selected="selected" value="3">Three</option>
</optgroup>
<optgroup label="Group 1.2">
<option value="1">One</option>
<option value="2">Two</option>
<option selected="selected" value="3">Three</option>
</optgroup>
</optgroup>
<optgroup label="Group 2">
<optgroup label="Group 2.1">
<option value="1">One</option>
<option selected="selected" value="2">Two</option>
<optionvalue="3">Three</option>
</optgroup>
</optgroup>
</select>
С помощью JQuery, когда я загружаю мою страницу я пытаюсь получить выбранные элементы код, который следующим образом:
if($('#ListId').length > 0)
{
var selected = [];
$('#ListId option[selected="selected"]').each(
function(i)
{
var val = $(this).val();
var txt = $(this).text();
selected[val] = txt;
}
);
}
Затем я изменить код выше, чтобы получить выбранные элементы, в том случае, если пользователь имеет сделать новый выбор следующим образом:
if($('#ListId').length > 0)
{
var selected = [];
$('#ListId option[selected="selected"]').each(
function(i)
{
var val = $(this).val();
var txt = $(this).text();
selected[val] = txt;
}
);
$('#ListId').change(
function()
{
selected = [];
$('#ListId option[selected="selected"]').each(
function(i)
{
var val = $(this).val();
var txt = $(this).text();
selected[val] = txt;
}
);
}
);
}
Но проблема в том, что до сих пор продолжают читать «выбранные» элементы предварительного просмотра.
Вы также можете посетить скрипку здесь для живых тестов: http://jsfiddle.net/Qem7n/
Любая идея о том, как решить эту проблему?
jsfiddle ссылки неправильно – Skatox
Вы должны спасти скрипку и поделиться этим :-) – hop
скрипка пуста – defau1t