保存/提交时,如何从 ember 中的表单中删除空元素
How to remove empty elements from a form in ember, when saving/submitting?
假设我的控制器中有一个操作,如下所示:
actions: {
save: function() {
var self = this;
this.get('model').save().then(function() {
self.transitionToRoute('surveys');
}, $.noop);
}
模型"hasMany"类型为"element"的元素(另一个模型,只有一个字段"title"),我可以从控制器访问它,如下所示:
var elements = this.get('elements');
我想在保存之前删除标题为空的元素。我尝试使用 forEach 和过滤器迭代"元素",但到目前为止,我的方法都没有奏效。
有什么建议吗?谢谢!:)
问题在于我删除元素的方式。
解决方案不是在元素上调用 destroyRecord(),而是在元素数组上调用 removeObject(),我们将要删除的元素作为一个选项。
如:
var elements = this.get('elements');
elements.forEach(
function (element) {
if(element && ! element.get('title')){
elements.removeObject(element);
}
});
相关文章:
- 添加和删除隐藏字段数组中的值,而不提交表单
- Small Javascript从动态表单中删除多个元素的问题
- 根据下拉选择向表单添加和删除输入标记
- 在django表单集中添加/删除表单的Javascript
- 单击时从表单中删除特定文本
- 引导表单动态添加带有字段的删除表单
- AngularJS不会从对象中删除表单
- Jquery脚本删除表单中的所有项目'的收藏
- 在表单中填写所有必填字段后删除禁用项
- 使用javascript删除特定的表单元素
- 删除带有按钮的输入表单失败
- 单击单选按钮,添加/删除表单元素的类
- 单击删除时,从表中删除与选定复选框相对应的行
- 删除html表单的确认
- 重置表单后未删除验证消息
- Chained或Dependent选择Zend_Form jQuery以删除或替换表单元素
- AngularJS和Symfony2表单或如何删除表单's”;动作“;属性
- 如何使用javascript删除项目和清除表单
- 当我以带有编辑和删除按钮的表单提交时,显示所有值
- 动态表单泛化和使用流星和Aldeed的自动表单删除