2013-03-05 84 views
0

我有對象列表作爲從服務器在JavaScript中的響應。我如何訪問對象成員,或者我如何使用jquery循環對象。?使用jquery訪問對象成員

這是我目前的腳本。

main.addDrodownOptionsforRoom = function (selector, data) 
     { 
      var dropdown = $(selector); 
      if (dropdown !== null) 
      { 
       dropdown.html(""); 
       dropdown.append($('<option></option>').val("").html("Select...")); 
       dropdown.append($('<option></option>').val("All").html("All")); 
       $.each(data, function (index, val) 
       { 
        dropdown.append($('<option></option>').val(val).html(index)); 
       }); 
       $(selector).removeAttr("disabled"); 
      } 
     }; 

在「數據」中,我可以看到對象列表。任何機構都可以告訴我如何訪問其中的成員。

+0

http://stackoverflow.com/questions/3830099/asp-net-mvc-html-dropdownlist-populated-by -ajax-call-to-controller – 2013-03-05 12:26:43

+2

你試過了什麼?認真地有1000個關於如何訪問javascript對象的問題和迭代他們:請參見[這裏](http://stackoverflow.com/questions/4846041/javascript-object-iterating-over-properties),[這裏](http: //stackoverflow.com/questions/4923938/how-to-iterate-over-this-object),[here](http://stackoverflow.com/questions/1897553/jquery-iterate-over-object-with-each ),[這裏](http://stackoverflow.com/questions/2203958/jquery-recursive-iteration-over-objects)或[這裏](http://stackoverflow.com/questions/9354834/iterate-over-object只是舉幾個例子)。 – Christoph 2013-03-05 12:27:35

+0

'val'是什麼類型?字符串,數字,對象? – 2013-03-05 12:33:17

回答

0

試試這個

main.addDrodownOptionsforRoom = function (selector, data) 
{ 
    var dropdown = $(selector); 
    if (dropdown !== null) 
    { 
     dropdown.html(""); 
     var html = ''; 
     html += '<option value="">Select...</option>'; 
     html += '<option value="ALL">All</option>'; 
     dropdown.append(html); 

     var options = ''; 
     $.each(data, function (key, val) 
     { 
      options += '<option value="'+key+'">'+val+'</option>'; 
     }); 
     dropdown.append(options); 

     $(selector).removeAttr("disabled"); 
    } 
}; 

但因爲我不知道你的對象是如何建立起來的,我不能給你確切的解決方案。 如果是這樣的:

obj = [name:'a name',number:'555']; 

,你可以這樣做:

alert(obj.name); // displays 'a name' 
alert(obj.number); // displays '555' 
+0

謝謝你。我得到了答案 – PaRsH 2013-03-05 13:49:51