0

我有一个很大的表格,里面有很多表格列。我正在使用此代码放置我的表单数据:

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

注意 我不能使用backbone-stickit 或任何其他.. 只需要使用主干、下划线和jquery。所以 ...

4

2 回答 2

1

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

$("#newwaitlist div").children().each(function(i, el) {
    if (el.prop('type') !== 'button') {
        formData[el.id] = $(el).val();
    }
});
于 2013-09-28T06:57:31.573 回答
0

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

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

您不想输入的任何 id 都可以过滤掉。

工作得很好...

JavaScript 和 Backbone 简直太棒了

于 2013-09-28T07:44:38.913 回答