1

我正在为我的下拉菜单使用 jquery 插件“selectboxit”。下面是带有角度指令“image-select-box”的 html 代码,它将选择下拉菜单初始化为 selectboxit。

<select ng-model="line" class="form-control" id="line" value="line"  image-select-box >
   <option value="0" data-iconurl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAPCAYAAAAvQwurAAAAWUlEQVRYR+3WwQkAIRAEQc0/aAVfghmUfRn0lAs3Rx+9wKTrihsB448g4IDxBfC8LjhgfAE8777ghbf+lndsA3bZH2A39eOyfrJw/IADxhfA87rggPEF8LwNEroCEIoaIokAAAAASUVORK5CYII="></option>
   <option value="1" ng-selected='{{line == "1"}}' data-iconurl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAPCAYAAAAvQwurAAAAc0lEQVRYR+2VSQ4AIAwC2/8/Wq9q4g0NIeMDsDBdunjRCXS0O8wVgMObAMAADk8g3B4TDODwBMLtrRM8xF7P7YD+HvCXfAB87+ovAJbvnwwAN1i8ttzkAOxGRFwPgMWBuskB2I2IuB4AiwN1kwOwGxFxPRP1UgoQsxww9AAAAABJRU5ErkJggg=="></option>
   <option value="2" data-iconurl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAPCAYAAAAvQwurAAAAcElEQVRYR+2WQQ4AEBAD+f+jSZyExG1bacYDVGeW6I0VTaBHt6NcQ3D4ECAYweEEwutxgxEcTiC83n6Dx+ddz9eG876FLV4Irptq90BeguuqsrONAJ8sG3pNMII1nG0pCLah1wQjWMPZloJgG3pN8AQkBgYQvlQpRwAAAABJRU5ErkJggg=="></option>
   <option value="3" data-iconurl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAPCAYAAAAvQwurAAAAZklEQVRYR+2XuxUAIAjEYP+htdDCzwSEWFqZi4fPDBc6gUTTCRcKhl8CBSsYngAczwYrGJ4AHO9s8Nisb6vdX8GUzEHB8f0kSoo8BtF1ft/gRiMajtoTzwbDvStYwfAE4Hg2GC54AkdIKBCb7coGAAAAAElFTkSuQmCC"></option>

指令中链接函数的内容如下

var $targetSelects = $(element),
      selectConfig = {
      autoWidth: false
};
$targetSelects.selectBoxIt(selectConfig);
$targetSelects.selectBoxIt('refresh');

我遇到的问题是所选值没有使用 ng-select 更新。

如果我在任何选项中对 selected ="selected" 进行硬编码,它会正确显示所选值。但是,如果我使用 ng-selected 来设置 selected 属性,我注意到在链接功能期间,所有 ng-selected 属性都会计算为 false,这就是 selectboxit 不显示实际选定选项的原因。但是,在页面加载后,我看到 ng-selected 已将 selected 属性添加到正确的选项元素中。

这实质上意味着自定义属性在 ng-selected 属性编译和链接之前被编译和链接。

我已将自定义属性的优先级设置为 1000,但仍然无法使其正常工作。

任何帮助将不胜感激。

4

0 回答 0