我有一个简单的指令来在我的页面上呈现<select>
元素,如下所示:
.directive('selectpicker', function ($timeout) {
return {
restrict: 'C',
require: 'ngModel',
replace: true,
template: '<select><option ng-repeat="opt in options" value="{{opt.id}}">{{opt.descr}}</option></select>',
scope: {
options: '='
},
link: function (scope, element, attrs, ngModel) {
var $el = $(element);
$el.on('change', function (ee, aa) {
ngModel.$setViewValue($el.val());
scope.$apply();
});
}
};
哪个工作正常。值绑定到模型变量,因此在页面显示时应预先选择每个选择。这在Firefox中没有用,在页面上没有选择任何内容,但是当我提交数据时,值按预期设置。有什么想法吗?