我正在尝试将变量名设置为输入值,因此在输入框中输入值时,数据测试选择器值相同。如果我目前使用value=item.name
它在输入框中显示名称。当输入的输入值也被赋值给data-test-selector时,我希望将值设置为变量名。像旧代码一样,如下所示。
尝试使用每个
动态使用{{#each items as |item|}}
<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} {{action "myAction" onEvent="keyUp"}} value=item.name/>
{{/each}}
旧代码
{{input type="text" maxlength="15" class="form-control" value=product data-test-selector=product}}
答案 0 :(得分:2)
item.name
与{{
一起包裹。onEvent
。但有on
个on="keyUp"
参考指南部分Specifying the Type of Event myAction方法应该将值更新为item.name
属性,或者您可以尝试以下内容。
<input id={{item.name}} maxlength="15" class="form-control" data-test-License={{item.name}} value={{item.name}} oninput={{action (mut item.name) value="target.value"}}>
更新:
我们可以添加观察者或动作事件,我们允许用户只输入数字而不输入字母吗?
在这种情况下,您不需要使用观察者oninput={{action 'updateName' item}}
updateName(item, event){
let number = event.target.value.toString().replace(/[^\d.]/g, "");
Ember.set(item,'name',number);
}