Ember Binding jQuery .val

时间:2016-01-13 23:37:14

标签: javascript jquery ember.js

{{input value=inputValue}}
$("input").val("Test");

jQuery命令不会触发Ember更新值。我试过.trigger('change')它也没用。

编辑:我在页面上有一张桌子。该表是使用第三方组件创建的(我无法对其进行更改)。我希望Ember知道用户何时点击一行。我创建了一个隐藏的文本字段。每当用户选择一行时,隐藏文本字段的值将使用jQuery.val()设置为行的内容。问题是Ember没有认识到这种变化。如果我使文本框可见,选择一行,然后只需单击文本框中的任意位置,Ember就会识别出更改。因此jQuery.val()不会触发Ember来更新绑定值。

2 个答案:

答案 0 :(得分:1)

您应该从组件/控制器中通过this.set('inputValue', 'Enter new value')设置值,以使更改生效

答案 1 :(得分:-1)

this.$('#table').on("click", function() {
  var selected = this.$('#table tr.selected')[0];
  var text = selected.innerText.split("\t");
  this.$(this.get('columns')).each(function(i) {
    var column = this.get('columns')[i];
    this.set(column.title, text[i]);
  });
});