2015-10-13 56 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

感谢您的帮助。 –