下面的代码用于填充项目值1和2的多选项是默认选择但只选择项目值2:
$.ajax({
type: "POST",
url: Url_function,
data: para_datas,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function OnPopulateControl(response) {
list = response.d;
control.multiselect({
selectedList: selectedlist,
header: false,// 0-based index
selectedList: 2
});
var $select = control.multiselect('disable');
if (list.length > 0) {
$select.multiselect('enable');
$.each(list, function () {
control.append($("<option></option>").val(this['Value']).html(this['Text']));
//console.log(this['Text']);
});
}
else {
control.empty().append('<option selected="selected" value="0">Not available<option>');
}
a_list_selected = valueselected.split(',');//valueselected = '1,2'
for (i =0; i< a_list_selected.length; i++)
{
control.val(a_list_selected[i]).attr('selected',true);
}
control.multiselect('refresh'); //refresh the select here
},
error: function () {
alert(Error_message);
}
});
答案 0 :(得分:1)
来自插件的文档。
手动选中或取消选中复选框?
调用“widget”方法后可以访问复选框。只需手动触发它们上的NATIVE点击事件:
//手动检查(或取消选中)菜单中的第三个复选框: $( “选择”)多选( “小部件”)找到( “:勾选”)。每个(函数(){。 this.click(); });
由于jQuery核心中的这个错误,必须使用本机点击事件(触发器('click')不起作用)。
所有必要的事件和操作(如更新按钮值)都将自动触发。
或者,您可以为原始选项标记所选属性,然后调用MultiSelect的刷新方法。
您已选择所选方式,但在您的代码中,您的设置已选为真control.val(a_list_selected[i]).attr('selected',true);
。设置它的值为'selected'
,例如control.val(a_list_selected[i]).attr('selected','selected');
(例如,请参阅http://reference.sitepoint.com/html/option/selected,了解它可能需要的值)