预选值mulitselect使用jQuery
-
19-09-2019 - |
题
我有一组存在于页面加载值: 例如[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');
});
不确定这很可能更快,但是地雷一点清洁器。
不隶属于 StackOverflow