2015-10-13 57 views
0

我有代碼:動態名稱的jQuery

line:1  var listInput = $('input.model'); 
line:2  var listVariable = []; 
line:3  $.each(listInput, function (index, val) {  
line:4    var variable = $(val).data('name'); 
line:5    var valOf = $(val).val(); 
line:6    var item = { variable : valOf }; 
line:7    listVariable.push(item); 
line:8  }); 

我想那就是「變」,在逐行6「可變」 4

請幫助我,約對不起我英語。

+0

刪除'行沿:1'從代碼 – Satpal

回答

1

您需要使用Bracket notation來使用動態密鑰填充item的屬性。

$.each(listInput, function (index, val) {  
    var item = {}; //Create object 
    item[$(val).data('name')] = $(val).val(); //Set the value 
    listVariable.push(item); 
}); 

或者,你可以使用.map().get()

var listVariable = listInput.map(function(){ 
    var item = {}; 
    item[$(this).data('name')] = $(this).val();  
    return item; 
}).get(); 
+0

感謝您的幫助。 –