将值设置为在ember

时间:2017-10-25 07:29:30

标签: jquery ember.js ember-cli

我正在尝试将变量名设置为输入值,因此在输入框中输入值时,数据测试选择器值相同。如果我目前使用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}}

1 个答案:

答案 0 :(得分:2)

  1. 您忘了将item.name{{一起包裹。
  2. 没有onEvent。但有onon="keyUp"参考指南部分Specifying the Type of Event
  3. 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"}}>

  4. 更新:
    我们可以添加观察者或动作事件,我们允许用户只输入数字而不输入字母吗?
    在这种情况下,您不需要使用观察者oninput={{action 'updateName' item}}

    updateName(item, event){
      let number = event.target.value.toString().replace(/[^\d.]/g, "");
      Ember.set(item,'name',number);
    }