2017-04-07 49 views
0

我有了第k文本框类,使之成为剑道风格的输入文本框的HTML输入:K-文本框中输入HTML创建事件模板不能反映JavaScript值变化(剑道调度)

<input id="LocationInput" class="k-input .k-textbox" data-bind="value:location"/> 

然后,当我打开创建事件弹出(这是位置输入文本框的位置),我有指定的参数LocationInput与他们希望自动填充值的用户....

我做$('#'+paramData[i].fieldName+'Input').val(paramData[i].recordId);

其中paramData是传递参数的数组ters,fieldName是'Location',recordId是它的值。之后,在使用console.log进行检查时,文本在控制台中设置正确,但没有更改反映在创建事件弹出窗口中,该框仍然为空。我尝试在'.val()'之后添加'.change()',但那也没有做任何事。

当输入是创建事件模板的一部分时,如何获得'k-textbox'输入以反映我在javascript中设置的值?

回答

1

要找到你应该得到数据传递到您的处理事件对象的容器元素中搜索输入:

function yourSchedulerAddOrEditEventHandler(e) { 
    e.container.find('#'+paramData[i].fieldName+'Input').val(paramData[i].recordId); 
    e.container.find('#'+paramData[i].fieldName+'Input').trigger("change"); 
} 

在这里看到更多的信息http://docs.telerik.com/kendo-ui/api/javascript/ui/scheduler#events

+0

谢谢!这很好。然而,这最终只反映了创建弹出输入字段本身的变化,而不是在实际事件中,因此只需设置事件值以及使用container.find()函数在弹出窗口中显示设置值。 –

+1

@TylerDahle,为了解决这个问题,您还需要在输入中触发更改事件。我已经更新了答案。 – Orilux

+0

啊......我明白了。再次感谢您的帮助:) –