我有多种形式的布局。我想要的是使用 .each 方法一个一个地获取这些表单,使用类选择器循环通过其输入值并获取在 JSON 对象中构造的这些值。在获取值方面需要帮助
this.$('form').each(function(index){
console.log($(this).children('.itemName').val());
这是在主干视图中完成的。这行不通。
我有多种形式的布局。我想要的是使用 .each 方法一个一个地获取这些表单,使用类选择器循环通过其输入值并获取在 JSON 对象中构造的这些值。在获取值方面需要帮助
this.$('form').each(function(index){
console.log($(this).children('.itemName').val());
这是在主干视图中完成的。这行不通。
将表单序列化为 JSON 的最简单方法是使用jQuery's serializeArray()
JSON.stringify($('form').serializeArray());
您必须在给定元素中搜索您的输入元素。
由于您的主干视图可能使用this.el
您的代码,因此您的代码可能如下所示:
$('form :input',this.el).each(function(index){
if($(this).hasClass('itemName')) {
console.log($(this).val());
}
}
您还可以像这样过滤结果:
var $inputs = $('form :input',this.el);
$inputs.filter(".item_name").each(function(){
console.log("item name value:", $(this).val());
});
$inputs.filter(".itemQty").each(function(){
console.log("itemQty element value:", $(this).val());
});
如果你只有一个元素,你也可以跳过$.each
:
var $form= $('form',this.el);
console.log($(".itemName", $form).val());
console.log($(".itemQty ", $form).val());
你可以通过这个 jQuery 获得:
$('form input').each(function(){
alert($(this).val());
});