在编辑的时候jsp combobox多选setValues后为啥只能取消Q专家这一项别的不能取消
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在编辑的时候jsp combobox多选setValues后为啥只能取消Q专家这一项别的不能取消相关的知识,希望对你有一定的参考价值。
$('#permissionModule').combobox(
url:'<c:url value="/mobilePackageManage/getQXMKListMobilePackageManage.tg"/>',
valueField:'id',
textField:'text',
multiple:true,
onLoadSuccess:function()
if(('$mobilePackage.permissionModule')!='')
$('#permissionModule').combobox('setValues','$mobilePackage.permissionModule'.split(','));
else
$('#permissionModule').combobox('setValue','跟我学');
);
去掉下面的判断
if((\'$mobilePackage.permissionModule\')!=\'\')
$(\'#permissionModule\').combobox(\'setValues\',\'$mobilePackage.permissionModule\'.split(\',\'));
直接
if((\'$mobilePackage.permissionModule\')==\'\')
$(\'#permissionModule\').combobox(\'setValue\',\'跟我学\');
追问
我要是多选的话 那不就变成了只有‘跟我学’了么
追答不是,$mobilePackage.permissionModule\')==\'\' 只有为空时才是‘跟我学’,其他的是你选什么就自动加什么,官方demo就是这样的
参考技术A我今天遇到了这个问题,跟你的一样,查了半天的api什么的,最后终于发现问题了。原因是:默认设置的value里面带了空格。在你设置默认选中的时候去
一下空格就好了。用setValues 不好去空格,最好用select 然后一个一个设置。 希望遇到同样问题的菜鸟们能少走弯路
for (j=0;j<array.length ;j++ )
var tempStr=trim(array[j]);
$("#combo_docTypes").combobox("select",tempStr);
easyui combobox 在datagrid中动态加载数据
场景:datagrid 中用编辑框修改数据,有一个列使用的combobox 在可编辑的时候需要动态绑定数据,这个数据是在根据其他条件可变的
思路:在每次开启编辑框的时候动态绑定数据,
datagrid开启
onClickCell: onClickCell//点击触发
onAfterEdit:onAfterEdit//编辑完单元格之后触发的事件
$.extend($.fn.datagrid.methods, { editCell: function (jq, param) { return jq.each(function () { var opts = $(this).datagrid(‘options‘); var fields = $(this).datagrid(‘getColumnFields‘, true).concat($(this).datagrid(‘getColumnFields‘)); for (var i = 0; i < fields.length; i++) { var col = $(this).datagrid(‘getColumnOption‘, fields[i]); col.editor1 = col.editor; if (fields[i] != param.field) { col.editor = null; } } $(this).datagrid(‘beginEdit‘, param.index); for (var i = 0; i < fields.length; i++) { var col = $(this).datagrid(‘getColumnOption‘, fields[i]); col.editor = col.editor1; } }); } }); var editIndex = undefined; //判断是否编辑结束 function endEditing() { if (editIndex == undefined) { return true } if ($(‘#subDg‘).datagrid(‘validateRow‘, editIndex)) { $(‘#subDg‘).datagrid(‘endEdit‘, editIndex); editIndex = undefined; return true; } else { return false; } } //点击单元格触发的事件 function onClickCell(index, field) { if (endEditing()) { $(‘#subDg‘).datagrid(‘selectRow‘, index) .datagrid(‘editCell‘, { index: index, field: field }); editIndex = index; } var taskLevelsData =$("#taskLevels").val(); if(field=="taskLevel" && taskLevelsData){//下拉编辑列时触发 var editors = $(‘#subDg‘).datagrid(‘getEditors‘, index);//取当前的编辑器 var row = $(‘#subDg‘).datagrid(‘getRows‘)[index]; var smEditor = editors[0]; $(smEditor.target).combobox({ onLoadSuccess: function () { }, onShowPanel: function(){ //下拉展开时动态修改options //debugger var data = []; $.each(taskLevelsData.split(","),function(i,e){ var obj={}; obj.id=e; obj.text=e; data.push(obj); }) $(smEditor.target).combobox("loadData", data); //设置值 $(smEditor.target).combobox(‘setValue‘, row.taskLevel); //row的属性赋值 } }); } } //编辑完单元格之后触发的事件 function onAfterEdit(index, row, changes) { var d = {}; d.id= row.id; //编辑内容进行修改数据 if(row.hasOwnProperty(‘bidRequire‘)){ d.bidRequire=row.bidRequire; }if(row.hasOwnProperty(‘meaRequire‘)){ d.meaRequire=row.meaRequire; }if(row.hasOwnProperty(‘requireDate‘)){ d.requireDate=row.requireDate.split(‘ ‘)[0] ; }if(row.hasOwnProperty(‘quaRequire‘)){ d.quaRequire=row.quaRequire; }if(row.hasOwnProperty(‘taskLevel‘)){ d.taskLevel=row.taskLevel; } //console.log(d); //console.log(changes); if(JSON.stringify(changes) != "{}"){ //console.log("tijiao") $.post(‘${pmsmanager}/pms/mtrl_plan/mtrl_plan_detail/update.do?sessionId=${(sessionId)!""}‘,d,function(data){ }) } }
以上是关于在编辑的时候jsp combobox多选setValues后为啥只能取消Q专家这一项别的不能取消的主要内容,如果未能解决你的问题,请参考以下文章