我如何选择另一个包含的对象。 jQuery
问题描述:
我有一个脚本,添加了几个这些形式。我如何选择另一个包含的对象。 jQuery
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”含有输入字段所有这些值?
答
$('.equipment_row').each(function(i, e){
obj = new Object();
obj.amount = $('.eq_amount', e).val();
等..
答
这将是一个更容易将其包装都在一个表单元素,并做$(form).serialize();
答
使用:
obj.amount = $(this).find('.eq_amount');
之类的东西。
答
我很惊讶你的输入没有名字,但只有一个类。
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: ...
},
...
]
这正是我一直在寻找。谢谢。 –