如何迭代json对象字符串?

时间:2013-08-16 10:18:03

标签: javascript json jqgrid

我的JsonResult如下

[{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}]

在编写for循环时我有点困惑,所以如何迭代这个或者在jqGrid的editoptions中获取buildSelect函数中的name值?我在jqGrid中的colModel代码如下

 { name: 'GroupName', index: 'GroupName', width: 60, align: 'center', search: false, editable: true, edittype: 'select',
   editoptions: {
                 dataUrl: "/Category/GetCategoryGroup",
                 buildSelect: function (response) {
                                  if (response && response.length) {
                                        // for loop iteration to get name values           
                                  }                                                 
                            }                                          
                 } 
 },

4 个答案:

答案 0 :(得分:0)

 if (response && response.length) {
    var contents='<select>';
    for(var i=0; i< response.length; i++){
        var t = response[i];
        var g_name = t.name;
        contents+="<option>"+g_name+"</option>";
    }
   contents+="</select>";
   document.getElementById("contentDropdown").innerHTML = contents; 
}

你要在哪里显示下拉列表,创建一个这样的div:

<div id="contentDropdown"></div>

希望这会对你有所帮助。

答案 1 :(得分:0)

var groups = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}];
for(var i = 0; i< groups.length; i++) {
 var name = groups[i].name;
}

答案 2 :(得分:0)

与数组相同

var myOb = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}] ; 

for (var i=0; i < myOb.length; i++) { 
 console.log(myOb[i]);
 console.log(myOb[i].name);
 console.log(myOb[i]['name']);
}

您可以进一步循环编辑选项

答案 3 :(得分:0)

迭代数组的另一种方法

var groups = [{"name":"Group 1"},{"name":"Group 2"},{"name":"Group 3"}]; 

$.each( groups, function() {
    alert(this.name);
});