2014-09-01 81 views
0

所以我有一個對象數組,我想添加新的對象到它。所以我在這裏使用下面的代碼是我的代碼。我已經看到了關於同一主題的其他問題,但仍然無法將我使用jQuery獲取的新對象添加到列表中。我犯了愚蠢的錯誤,請爲我找到它。謝謝使用javascript函數將對象添加到我的對象數組

<html> 
<head> 
    <title></title> 
    <script type="text/javascript" src="jquery.js"></script> 
</head> 
<body>   
    <input placeholder="name" type="text" id="name"></br> 
    <input placeholder="rno" type="text" id="rollno"></br> 
    <input type="submit" value="Add Roll" id="add" > 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      console.log("loaded"); 
      var list=[ 
         {name:"sud",rno:1}, 
         {name:"diya",rno:2}, 
         {name:"sakshi",rno:3} 
         ]; 

      for(i=0;i<list.length;i++){    
       console.log("old list is"+list[i].rno+"\t"+ 
        list[i].name);   
      }; 

      $("#add").click(function(){ 
       var rno = $("#rollno").val(); 
       var name = $("#name").val(); 
       //here i want to add rno and name to my list 
       for(i=0;i<list.length;i++){    
       console.log("new list is"+list[i].rno+"\t"+ 
        list[i].name);   
       }; 
      }); 
     }); 
    </script> 
</body> 
</html> 
+0

list.push({name:「sudarshan」,rno:「33」}),您需要使用push來添加新對象 – 2014-09-01 14:09:02

+0

哦,謝謝您,先生現在明白了,list.push({name:name,rno :RNO});但如何添加這些,而不使用推。我可以使用'=' – Sudarshan 2014-09-01 14:15:49

+0

來分配你是在說list = {name:「sudarshan」,rno:「33」}?這隻會最終覆蓋你的現有陣列與一個新的對象。你需要使用push來添加到你現有的數組 – 2014-09-01 14:19:32

回答

0

追加到陣列可以使用推

list.push({name:"sudarshan",rno:"33"}); 

或只是

list[list.length] = {name:"sudarshan",rno:"33"}; 

這是與上述相同。

1

Array#push將項目添加到數組的末尾。例如:arr.push("test");

$("#add").click(function(){ 
    var rno = $("#rollno").val(); 
    var name = $("#name").val(); 

    // Use Array#push to add an item to an array. 
    // No need to use `new` when using the `{}` syntax for object creation. 
    list.push({name:"sudarshan",rno:"33"}); 

    // Just a tip. You should use `var i = 0;` instead of `i = 0;` to keep the `i` variable out of the global scope. 
    for(var i = 0; i < list.length; i++){    
     console.log("new list is"+list[i].rno+"\t"+list[i].name);   
    }; 
});