我有以下对象:
JAVASCRIPT
var data = "[{"id":0,"class_arb":"آخر","class_eng":"Other"},
{"id":1,"class_arb":"الإداريين","class_eng":"Management"},
{"id":2,"class_arb":"المهندسين","class_eng":"Engineers"}]";
我的HTML中有一个SELECT控件,如下所示
HTML
<SELECT id='class_id'></select>
以下是我尝试填充组合框的内容:
JQUERY
$.each(data, function (id, class_arb, class_eng) {
$('#class_id')
.append($("<option></option>")
.attr("value", id)
.text(class_arb));
});
我得到的结果是一个填充了3个值的组合框,所有这些值都显示文本[Object object]
而不是所需的预期英文或阿拉伯文本。
我做错了什么?
PS:变量data
无法更改,因为它是通过ajax回调从服务器接收的。
答案 0 :(得分:2)
请查看jQuery.each功能。它遍历整个数组,为您提供完整的行,但不是其后续属性。
变化:
$.each(data, function (rowindex, datarow) {
$('#class_id')
.append($("<option></option>")
.attr("value", datarow.id)
.text(datarow.class_arb));
});
找到有效的fiddle here