DOM如何获得Knockout JS值

时间:2015-11-30 11:59:49

标签: javascript jquery knockout.js

没有使用Knockout的经验,但知道Javascript和Jquery,我遇到了一个问题。

<input type="text" 
       value="Original Value" 
       data-bind="value: description, 
                  valueUpdate: 'afterkeydown'" />

var viewModel = { 
    description:ko.observable("")    
    };    

ko.applyBindings(viewModel);

http://jsfiddle.net/243b1z4h/1/

用户在该输入文本框中键入内容,但属性value仍具有旧/原始值(使用浏览器检查器工具),并且不会更新它。

我如何强制淘汰赛始终更新input value

enter image description here

1 个答案:

答案 0 :(得分:2)

这只是一个&#34; visual&#34;题。控制台没有意识到元素value已更改,并且一直显示原始值属性。

为证明这一点,您可以执行以下操作:

  • 使用Chrome控制台指针(位于左上角,或按Ctrl + Shift + C)并选择input元素
  • 控制台类型$0.value上的
  • 。它会显示value
  • 更新的ko

如果您不知道$0是什么,它就是所选元素。您还可以使用$0来表示有趣的内容,例如显示ko bound viewmodel:ko.toJS(ko.dataFor($0))

顺便说一下,要使其工作,您必须在控制台中选择适当的框架:在控制台的第一个文本框中,选择result(fiddle.jshell.net/)框架