使用datepicker更改输入值时没有更新的Knockout

时间:2014-03-27 12:43:54

标签: javascript jquery knockout.js datepicker

所以我必须从用户那里收集日期和时间。我希望能够从一个选择器中设置两者。我通过好奇的解决方案here找到了这个很好的解决方案。我们的网站使用jQuery,jQuery mobile和Knockout。当我使用datepicker选择日期时,我的knockout binded变量未更新,即使输入框的值已更改。如果我使用jQuery来获得它显示的价值就好了。

所以我的问题:有人可以帮我弄清楚如何让我的淘汰赛绑定更新吗?

我已经尝试将valueUpdate设置为inputafterkeydown没有运气。

以下链接指向我演示的问题:http://jsfiddle.net/TrueEddie/eg6zM/

1 个答案:

答案 0 :(得分:2)

在插件中,当设置元素的值时,它需要触发change事件。

类似的东西:

_setValueOfElement: function(sElemValue)
{
    var dtPickerObj = this;

    var $oElem = $(dtPickerObj.dataObject.oInputElement);
    if(dtPickerObj._compare($oElem.prop("tagName"), "INPUT"))
        $oElem.val(sElemValue);
    else
        $oElem.html(sElemValue);

    //ADDED THIS LINE
    $oElem.change();

        return sElemValue;
},

该插件似乎没有内置任何事件,所以看起来没有一种好方法可以对设置的值作出反应。