我正在使用一个jQuery插件,它将正常的选择下拉列表转换为花哨的多选下拉列表。这是插件网址: http://wenzhixin.net.cn/p/multiple-select/
现在,我现在面临的问题是,我使用角度j来绑定下拉值。而且,我使用了角度js指令作为
app.directive('ccMultipleSelect', function () {
var directive = {
link: link,
restrict: 'A'
};
return directive;
function link(scope, element, attrs) {
element.multipleSelect({ selectAll: false });
}
});
在我的html视图中,代码如下:
<select data-ng-options="c.key as c.value for c in vm.units"
multiple="multiple" data-cc-multiple-select>
</select>
但是,问题在于,当调用指令事件时,即调用multipleSelect插件时,到那时角度js没有完成其绑定,因此花式下拉列表不包含任何元素。我认为一个快速的解决方案是使用setTimeout函数在500ms后调用插件,但这不是一个理想的解决方案。必须有其他一些方法可以让我们观察下拉元素并进一步刷新元素。
答案 0 :(得分:0)
选项1:您是否尝试过延迟而没有任何延迟。我有其他类似的问题:jquery插件没有加载动态数据。
选项2:重绘多重选择$('select')。multipleSelect();