javascript - 如何使用 knockout.js 获取文本框 onchange 的值

标签 javascript events input knockout.js

我在 knockout 中有以下代码。 html 是

<p id="inputField">
    What do you want to search?: 
    <input data-bind="
        textInput: searchLocation, 
        event: {focus:  focusHandler}"/>
</p>

View 模型是

function  NeighborhoodModel() {
    var self = this;

    self.focusHandler = function(){
        console.log("focus self.searchLocation "+searchLocation());
    };

    self.searchLocation= ko.observable("");
    searchLocation = ko.observable("");
    self.locations = ko.observableArray([]);
    self.nameLocation = ko.observable(" ");
    console.log(" begin model");
    console.log("model self.searchLocation "+searchLocation());

};

ko.applyBindings(new NeighborhoodModel());

如何恢复 searchLocation 的值?

控制台中的消息是

begin model

project5.js:15 model self.searchLocation

project5.js:6 focus self.searchLocation

最佳答案

您已经定义了 searchLocation 两次,一次是在 self 上定义的,另一次是在之后立即定义的。另外,您应该使用 value 绑定(bind)而不是 textInput

查看此更新的 fiddle :http://jsfiddle.net/uete2Lsq/

<p id="inputField">
    What do you want to search?: 
    <input data-bind="
        value: searchLocation, 
        event: {focus:  focusHandler, blur: focusHandler}"/>
</p>

关于javascript - 如何使用 knockout.js 获取文本框 onchange 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33044449/

相关文章:

javascript 查找图像索引

javascript - 在 JavaScript 中,在循环中创建函数会造成计算浪费的具体原因是什么?

wpf - IsPreviewxxxxx 和 xxxxxxx 事件之间的区别?

delphi - 如何为表单测试伪造输入?

events - 在 CellTable 单元格中添加双击事件 - GWT

javascript - 输入类型数字,里面有加号、减号或者 "e"显示为空值,为什么?

javascript - 如何使用 jquery 打印 div 内容? (确保打印内容为彩色形式。)

javascript - 为什么 "1"++ "1"= "11"但 "1"- - "1"= 2 在 JavaScript 中

ubuntu - 如何在 ubuntu 14.04 印地文键盘中键入 'ज्ञ'

html - 使用表单进行按钮导航并且按钮不出现