如何动态加载选项值在选择追加网格jquery插件

how to dynamically load option values in select for appendgrid jquery plugin

本文关键字:选择 追加 网格 插件 jquery 选项 何动态 动态 加载      更新时间:2023-09-26

我使用Appendgrid作为数据输入。

我在appendgrid中的一个列是select的输入类型。

根据示例,可以像下面这样使用select

$('#tblAppendGrid').appendGrid({
columns:[
{ 
 name: 'Origin',
 display: 'Origin',
 type: 'select',
 ctrlOptions: { 1: 'Hong Kong', 2: 'Taiwan', 3: 'Japan', 4: 'Korea',  5: 'US', 6: 'Others'}
 }
]
});

,但我的ctrlOptions列表是动态的,我通过api调用。我得到json字符串如上所述,但当我尝试替换json变量时,我不知道为什么字符串的一部分,直到":"的第一次出现被删除

的例子:

var data="{1:'Mango',2:'Banana',3:'Milk'}";

$('#tblAppendGrid').appendGrid({
columns:[
{ 
name: 'Origin',
display: 'Origin', 
type: 'select',
ctrlOptions:   data
}]
});

所以这将产生一个只有一个选项值为'Mango',2:'Banana',3:'Milk'}的select

如何解决产生合适的选项

在您的工作示例中,ctrlOptions不是JSON字符串,但它是一个对象。在您的非工作示例中,ctrlOptions也不是JSON,因为它是畸形的。你的代码可能有1或2个问题。

JSON必须像这样格式化(注意使用的引号):{"1":"芒果","2":"香蕉","3":"牛奶"}

你的第二个问题可能是你的插件不接受JSON,只接受对象。如果是这种情况,您可以使用JSON.parse将JSON转换为对象。

ctrlOptions: JSON.parse(data)