从表格中获取数据到Backbone中的集合

时间:2013-09-28 06:45:16

标签: javascript forms backbone.js backbone-views backbone-collections

我有一个非常大的表单,其中包含很多表单列。 我使用以下代码输入表单数据:

             var formData = {};
             $("#newwaitlist div").children().each(function(i, el){
             formData[el.id] = $(el).val();
             });
             var waitdriver= new DriverWaitModel(formData);
             console.log(JSON.stringify(waitdriver));
             this.collection.add(waitdriver);

正确获取数据。 但是我有一个小错误。

  1. 在我的表单中,我也有我的按钮和表单,可以选择(如下拉菜单)。 上面的代码还记录了按钮值及其id。有没有办法在添加到集合之前删除它?

  2. 我将数据传递给集合的方式是正确的吗?或者有更好的方法吗?

  3. 注意 我不能使用backbone-stickit或任何其他..我们必须做的是骨干,下划线和jquery。所以...

2 个答案:

答案 0 :(得分:1)

您可以检查类型,例如el.prop('type')。像这样:

$("#newwaitlist div").children().each(function(i, el) {
    if (el.prop('type') !== 'button') {
        formData[el.id] = $(el).val();
    }
});

答案 1 :(得分:0)

以上答案也解决了这个问题, 但在我的情况下,我还要过滤掉一些也不是按钮类型的表单元素。 所以这就是我的工作方式;

if(el.id!="addDriveBtn"===true){
formData[el.id] = $(el).val();
}

你不想输入的内容只能过滤掉。

工作得很好......

JavaScript和Backbone只是摇滚