jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – jqGrid动态选择选项大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用下拉列创建一个jqgrid,我正在使用单元格编辑.我需要下拉列的选项来动态更改,我已经尝试通过将列设置为:
{ name: "AccountLookup",index: "AccountLookup",width: 90,editable: true,resizable: true,edittype: "SELEct",formatter: "SELEct" },

然后在beforeCellEdit事件中,我有

beforeEditCell: function(id,name,val,iRow,iCol) {
        if(name=='AccountLookup') {             
            var listdata = GetLookupValues(id,Name);
            if (listdata == null) listdata = "1:1";                              
            jQuery("#grid").setColProp(name,{ editoptions: { value: listdata.toString()} })                                
        }
    },

GetLookupValues只返回格式为“1:One; 2:Two”等字符串.
这工作正常然而选项填充一次点击 – 即我点击第1行中的AccountID,下拉列表为空,但是当我点击第3行中的AccountID时,我在行1中单击的选项显示在第3行单击.等等.所以总是一次点击后面.

有没有其他方法可以实现我的需求?显然,显示的下拉选项总是在变化,我需要在用户进入单元格进行编辑时加载它们.
也许我可以以某种方式获取beforeEditCell事件中的SELEct控件并手动输入其值而不是使用setColProp调用?如果是这样,我可以得到一个这样做的例子吗?

另一件事 – 如果下拉列表为空且用户未取消单元格编辑,则网格脚本会抛出错误.我正在使用clientarray编辑,如果这有所作为.

解决方法

您可以使用dataInit选项,如下所示:
{ name: "AccountLookup",formatter: "SELEct",editoptions: { dataInit: function( elem )
    {
        $(elem).empty()
            .append("<option value='1'>Apples</option>")
            .append("<option value='2'>Oranges</option>");
    } } }

只需更换静态苹果&使用GetLookupValues()函数的Oranges选项.

大佬总结

以上是大佬教程为你收集整理的jquery – jqGrid动态选择选项全部内容,希望文章能够帮你解决jquery – jqGrid动态选择选项所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。