我使用Appendgrid进行数据输入。
appendgrid中的一个列是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
}]
});
所以这将产生一个只有一个选项的选择,其中包括“芒果' 2:'香蕉' 3:'牛奶'}
如何解决它以产生适当的选择。
答案 0 :(得分:0)
在您的工作示例中,ctrlOptions不是JSON字符串,但它是一个对象。在你的非工作示例中,ctrlOptions也不是JSON,因为它格式不正确。您的代码可能有1或2个问题。
JSON必须像这样格式化(注意使用的引号): {" 1":"芒果"" 2":"香蕉"" 3":"牛奶"}
您的第二个问题可能是您的插件不接受JSON,只接受对象。如果是这种情况,您可以使用sampleCell.button.layer.borderColor = UIColor.blackColor().CGColor
将JSON转换为对象。
JSON.parse