如何在dropkick.js下拉菜单中动态更新选项?

时间:2012-02-03 21:35:04

标签: javascript html drop-down-menu knockout.js

我正在尝试使用dropkick.js在网络应用中构建下拉菜单。我喜欢dropkick.js,因为键盘支持和良好的自定义主题功能。但是,它似乎只适用于静态菜单;当我动态更新原始元素(使用knockout.js绑定)时,dropkick.js菜单不会更新。

为了澄清,问题在于以编程方式更改selectedChannel(或频道列表本身)的值不会导致下拉列表更新。另一种方式可行(单击下拉列表,请参阅selectedChannel变量更新)。

要么通过修改dropkick.js(或使用自定义的knockout.js绑定?)来解决这个问题的现有解决方案或如何解决这个问题的指针,我将不胜感激。或者,也许它可以/应该工作但我做错了什么?

使用knockout.js进行

绑定:

<select id="channelSelector" data-bind="options: channels, optionsText: 'name', optionsValue: 'id', value: selectedChannel"></select>

设置代码:

$('#channelSelector').dropkick();

使用的knockout.js更新代码,导致下拉列表更新其所选值:

vm.selectedChannel(vm.channels()[0].id);

问题示例:http://jsfiddle.net/37QvY/

2 个答案:

答案 0 :(得分:1)

关于selectedChannel

的更新,我为您制作了一个可行的脚本

http://jsfiddle.net/helk/AFtSS/1/

干杯!

答案 1 :(得分:1)

你应该阅读这个答案和评论,这就是帮助我完成它的原因。

Issues Setting Value/Label Using DropKick Javascript

干杯!