更快地选择多个选项值

时间:2011-03-29 10:43:05

标签: javascript jquery html

我有一个包含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?

由于

2 个答案:

答案 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);   
   }
  }
 });