我在我的页面中设置了一个选择选项控件,如下所示:
<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/
关于如何解决该问题的任何想法?