将数据从表单获取到骨干中的集合

Taking Data from Form to collection in Backbone

本文关键字:集合 数据 表单 获取      更新时间:2023-09-26

我有一个非常大的表单,它有很多表单列。我使用以下代码放置我的表单数据:

             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. 我将数据传递到集合的方式是否正确? 还是有更好的方法来做同样的事情?

注意我不能使用骨干粘性或任何其他..只要有骨干,下划线和jquery,我们就必须做。 所以...

您可以检查

类型,如el.prop('type') . 喜欢这个:

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

上面的回答也解决了这个问题,但就我而言,我还必须过滤掉一些也不是按钮类型的表单元素。这就是我让它工作的方式;

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

您不想输入的ID可以过滤掉。

工作很棒...

JavaScript 和 Backbone 只是摇滚