【发布时间】:2015-01-18 20:22:42
【问题描述】:
我已将所选插件集成到我的 angularjs 应用程序中。我的 app.js 看起来像这样。
myApp.directive('chosen', function() {
var linker = function (scope, element, attr) {
scope.$watch('countriesList', function() {
$('#countries').trigger('chosen:updated');
console.log('I acctuallty get in here');
})
element.chosen();
};
return {
restrict: 'A',
link: linker
};
})
我的选择看起来像这样
<div class="control-group">
<label for ="countries" class="control-label">Countries: </label>
<div class="controls">
<select chosen ng-model="countries" id="countries" ng-options="country.name for country in countriesList" data-placeholder="Select Countries" multiple class="span chzn-select"></select>
</div>
</div>
问题是当页面第一次加载时,选择中没有显示任何内容。当您检查元素时,选项就在那里。
chosen:updated 似乎不起作用。我将console.log() 放入手表中,它正在触发。如果我在浏览器中运行.trigger('chosen:updated'),它会完美运行。我确实尝试过element.trigger,但这也没有用。太令人沮丧了!
【问题讨论】:
-
每次您进行更改时,您的
$watch内部的console.log是否会触发?还是只触发一次? -
它在我第一次加载页面时触发。
-
您向
countriesList添加了一个项目,但它没有更新? -
没有,当我加载页面时,下拉菜单中没有任何内容
标签: javascript angularjs html jquery-chosen