我有一组存在于页面加载值: 例如[1193,1184,2372]。

我有一个dropdownchecklist可以采取单个值,像这样 $( “DDL”)dropdownchecklist()VAL(1193);

当我重新绑定dropdownchecklist此正确地选择的值。不过,我已经试过传递一个包含多个值的VAL()方法,我的阵列,并且不选择值。我有点期待这一点。我不知道如何最好地去预选。

我试图遍历我的阵列,以构建一个过滤器属性应用如下所示: $( “DDL [*值= '1184'] [*值= '9067'] [*值= '14841']”)ATTR( '选择', '选择');

但是这不工作。我不希望有重复的DDL所有选项,并将它们设置为,如果因为有几百个选项,他们一致选择,这将不会是不错的表现明智的,尤其是如果只有2个选项被preseleted。

任何想法?

有帮助吗?

解决方案

创建所述选定的字符串以创建jQuery选择字符串并把它放入.find()函数:

var str = '';
var arrLength = selectedArray.length;
$.each(selectedArray, function(i){
   str += 'option[value*='+selectedArray[i]+']';
   if((i+1) != arrLength){
     str += ', ';
   }
});

$('.ddl').find("option[value*='1184'], option[value*='9067'], option[value*='14841']")
     .attr('selected','selected'); 

另外请注意,比较下降时,打倒一个值,你正在寻找的选择,而不是选择元素本身的option元素。

其他提示

我得到了它这个工作,但上面的回答看起来像一个很好的解决方案:

$.each(arr, function(i,s)
{
     $(ddl_id + ' [value*=\'' + s + '\']').attr('selected','selected');
});    

不确定这很可能更快,但是地雷一点清洁器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top