我有一个脚本可以添加其中几种表单。
var html = '<div class="equipment_row">' +
'<img src="'+base_url+'verkstad/icons/icon-'+type+'.png"/>' +
'<input class="eq_amount" type="text" value="'+amount+'" />' +
'<input class="eq_artnr" type="text" value="'+artnr+'" />' +
'<input class="eq_text" type="text" value="'+text+'" />' +
'<input class="eq_price" type="text" value="'+price+'" />' +
'<img src="'+base_url+'verkstad/icons/eq_delete.png" class="eq_delete_img"/>' +
</div>';
$('#equipment_container').append(html);
然后,当用户点击“保存”时,我希望它收集数组中的所有这些值
var eq_array = Array();
var obj;
$('.equipment_row').each(function(){
obj = new Object();
obj.amount = ???
obj.artnr = ???
obj.text = ???
obj.price = ???
eq_array.push(obj);
});
var dataString = $.toJSON(eq_array);
alert(dataString);
如何访问“equipment_row”中包含的输入字段?
答案 0 :(得分:2)
将它全部包装在表单元素中并执行$(form).serialize();
答案 1 :(得分:1)
$('.equipment_row').each(function(i, e){
obj = new Object();
obj.amount = $('.eq_amount', e).val();
依旧......
答案 2 :(得分:1)
我很惊讶你的输入上没有名字,只有一个类。
var eq_array = new Array(); // = [];
$('.equipment_row').each( function () {
var obj = new Object(); // = {};
$('input, select', this).each( function () {
obj[$(this).attr('class')] = this.value;
});
eq_array.push(obj);
});
请注意,您的数组看起来像
[ { eq_amout: 2113,
eq_artnr: ...
},
...
]
答案 3 :(得分:0)
使用:
obj.amount = $(this).find('.eq_amount');
和那样的东西。