我正在尝试使用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);
答案 0 :(得分:1)
答案 1 :(得分:1)