问题描述
用 jquery multiselect 做一个下拉复选框,在添加信息时要求能选中多个option,但是我试过各种取值,例如$().val(); $().text();$(select option :checked).val()等等,要么只能获取选中的最后一个值,而不是全部选中的值,要么就是没获取到值如图//我试过官方的API 也不行,取不到值$("#item").multiselect({ noneSelectedText: "==请选择==",checkAllText: "全选",uncheckAllText: '全不选',selectedList:100}, function(){ //回调函数 });var value = $("select").multiselect("getChecked").map(function(){return this.value; }).get();alert(value);另外一个 就是在页面修改的时候,怎么让从后台获取到的值让它选中。求帮忙,万分感谢
解决方案
1、取值var value = $("[color=red]#[/color]select").multiselect("getChecked").map(function(){ return this.value; 2、设置选中项,初始化multiselect之前。如下示例:var groupList = data.groupList;var groupNameList = data.groupNameList;// 设置用户名$("#rtxName").val(rtxName);if (null != groupList && groupList.length > 0) {// 向权限组下拉框设置选项时,先清空select$("#editGroupNameSelect").empty();var editGroupNameSelect = $("#editGroupNameSelect");var groupLen = groupList.length;for (var i = 0; i < groupLen; i++) {// 添加选项editGroupNameSelect.append("<option value='" + groupList[i].groupName + "'>" + groupList[i].groupName + "</option>");}if (null != groupNameList && groupNameList.length > 0) {for (var j = 0; j < groupNameList.length; j++) {// 设置选中项$("#editGroupNameSelect option[value='" + groupNameList[j].groupName + "'] ").attr("selected", true);}}}// 初始化multiselect插件$("#editGroupNameSelect").multiselect({checkAllText: '全选',uncheckAllText: '反选',noneSelectedText: '--请选择--'});
解决方案二:
选多个:$("input:text").each(function(index){ alert($(this).val());});让checkbox选中,某个版本jquery开始,一定摇用prop, attr已经不行了。$(select option [value=yourValue]).prop("checked", true);以上做法应该没错,但是代码细节是凭记忆的,你自己试一下,验证一下吧。