如何使用JS对象中的OPTIONS填充SELECT?

时间:2015-03-22 07:34:23

标签: javascript jquery ajax

我有以下对象:

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回调从服务器接收的。

1 个答案:

答案 0 :(得分:2)

请查看jQuery.each功能。它遍历整个数组,为您提供完整的行,但不是其后续属性。

变化:

$.each(data, function (rowindex, datarow) {
       $('#class_id')
       .append($("<option></option>")
       .attr("value", datarow.id)
       .text(datarow.class_arb));
 });

找到有效的fiddle here