我试图创建动态列表框值,但在控制台中出现以下错误:Uncaught TypeError:无法分配给的只读属性“active”[
以下是我的代码(仅粘贴listbox的代码):
body: [
{
type: \'listbox\',
name: \'type\',
label: \'Panel Type\',
value: type,
\'values\': get_author_list(),
tooltip: \'Select the type of panel you want\'
},
]
.....
我调用这个函数来获取动态列表。。。
function get_author_list() {
var d = "[{text: \'Default\', value: \'default\'}]";
return d;
}
我猜listbox中的值只接受静态var,而不接受动态var。但我需要在此列表中插入动态值。请任何人帮我找到一个解决方法。有没有可能通过ajax插入?
提前谢谢!!
最合适的回答,由SO网友:Parth Kumar 整理而成
所以values助手的问题是它只接受对象数组,而我传递的是一个字符串。。。我已经通过传递一个对象数组更正了代码。。下面是更正的代码。。
body: [
{
type: \'listbox\',
name: \'type\',
label: \'Panel Type\',
value: type,
\'values\': get_author_list(),
tooltip: \'Select the type of panel you want\'
},
]
.....
function get_authors_list() {
var result = [];
var d = {};
d[\'text\'] = \'Default\';
d[\'value\'] = \'default\';
result.push(d);
return result;
}
SO网友:Jeroen
如果您在Javascript中引用了另一个函数,我认为您不需要get\\u author\\u列表后的()。
body: [
{
type: \'listbox\',
name: \'type\',
label: \'Panel Type\',
value: type,
\'values\': get_author_list,
tooltip: \'Select the type of panel you want\'
},
]
此外,我认为您不需要在对象周围加引号。
function get_author_list() {
var d = [{text: \'Default\', value: \'default\'}];
return d;
}