我有一个包含100+< option>
的多选列表框现在我需要选择7或8个值。
我的代码是:
var selObj = document.getElementById('list1');
var len = selObj.length;
var selected_values = '1#2#15#34#82#96';
var selected_values_array = selected_values.split('#');
var alen = selected_values_array.length;
for (i = 0; i < len; i++) {
for (j = 0; j < alen; j++) {
if (selObj[i].value == selected_values_array[j]) {
selObj[i].selected = true;
break;
}
}
}
遇到脚本时,浏览器停止响应。我知道我的代码很糟糕,但他们有任何改进方法。使用jQuery还是javascript?
由于
答案 0 :(得分:0)
在jQuery的帮助下如何(现在让它工作):
var selected_values = '1#2#15#34#82#96';
var selectors = '#list1 > option[value="' + selected_values.split('#').join('"], #list1 > option[value="') + '"]';
$( selectors ).each( function() {
$( this ).attr( 'selected', true );
} );
比我希望的有点丑陋。但是,嘿。 :)
在行动here中查看。 here is an edited version选择框较大。{/ p>
答案 1 :(得分:0)
试试这个..
$('#list1 option').each(function(i) {
for (j = 0; j < alen; j++) {
if($(this).val() == selected_values_array[j]) {
$(this).attr("selected", true);
}
}
});