我在这里根据本教程为 ChosenJS 插件创建一个角度指令:https ://www.youtube.com/watch?v=8ozyXwLzFYs
我想要做的是在选择一个值时更新模型。
function Foo($scope) {
$scope.legalEntitiesList = [
{ name: 'Foo' },
{ name: 'Bar' }
];
$scope.legalEntity = { name: 'Foo' };
}
myApp.directive('chosen', ['$timeout', function($timeout) {
var linker = function(scope, element, attrs, ngModel) {
if (!ngModel) return;
element.addClass('chzn-select');
$(element).chosen()
.change(function(e) {
console.log(ngModel.$viewValue);
});
scope.$watch(attrs.chosen, function() {
$(element).trigger('liszt:updated');
});
}
return {
restrict: 'A',
scope: true,
require: '?ngModel',
link: linker
}
}]);
这是一个小提琴:http: //jsfiddle.net/dkrotts/MQzXq/7/。如果您选择不同的选项,则不会更新模型值。