我正在尝试在 Ember 中实现动态表单。我希望用户能够从下拉列表中选择一个选项并将其添加到表单中。此外,每个添加的字段都应该有一个“x”,用于从表单中删除元素。
我已经整理了一些似乎可以工作的东西(JSFiddle),但是每当删除添加的表单元素(单击它旁边的 x)时,我会在控制台中收到一条错误消息:“Uncaught TypeError: Cannot read property 'handler '未定义的”。
我认为这可能与附加到“a”标签的车把“动作”助手有关。不过我不确定。
这是一个删除函数的示例,当单击插入的输入元素旁边的“x”时调用该函数。
deleteOption: function (event) {
this.removeChild(event);
this.rerender();
},
这是添加新输入元素时使用的“newOption”视图的模板(单击“+”按钮后)
<script type="text/x-handlebars" data-template-name="newOption">
<p>
<label {{bindAttr for="view.name"}}>{{view.label}}</label>
<br /><input class="input-medium option" {{bindAttr id="view.name" name="view.name"}} type="text" maxlength="5" />
<a href="#" class="delete addsub" {{bindAttr id="view.name"}} {{action deleteOption view target="view.parentView" }}>X</a>
</p>
</script>