使用每个从表单中获取输入字段值

时间:2013-02-13 09:47:00

标签: jquery backbone.js

我有一个包含多个表单的布局。我想要的是使用.each方法逐个获取这些表单,使用类选择器循环其输入值并获取在JSON对象中构造的那些值。需要帮助来获取值

this.$('form').each(function(index){
console.log($(this).children('.itemName').val());

这是在骨干视图中完成的。这不起作用。

3 个答案:

答案 0 :(得分:0)

将表单序列化为JSON的最简单方法是使用jQuery's serializeArray()

JSON.stringify($('form').serializeArray());

答案 1 :(得分:0)

您必须在给定元素中搜索输入元素。

由于您的主干视图可能使用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());

答案 2 :(得分:0)

你可以通过这个jQuery获得:

 $('form input').each(function(){ 
        alert($(this).val()); 
    });