我有一个非常大的表单,其中包含很多表单列。 我使用以下代码输入表单数据:
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);
正确获取数据。 但是我有一个小错误。
在我的表单中,我也有我的按钮和表单,可以选择(如下拉菜单)。 上面的代码还记录了按钮值及其id。有没有办法在添加到集合之前删除它?
我将数据传递给集合的方式是正确的吗?或者有更好的方法吗?
注意 我不能使用backbone-stickit或任何其他..我们必须做的是骨干,下划线和jquery。所以...
答案 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只是摇滚