Web瀏覽器有時會挑剔他們認爲對屬性有效的值。 ng-attr
用於綁定arbitrary attributes
,select
不知道ng-attr-multiple
正在嘗試設置multiple
屬性,它只是直接對多個對象起作用。
相反,我會建議你編寫一個包裝指令,它將爲你的元素添加multiple
屬性。
欲瞭解更多關於此看到這個文檔鏈接:
https://docs.angularjs.org/guide/interpolation
問題鏈接:
https://github.com/angular/angular.js/issues/13570
var mymodule = angular.module('myApp', []);
function sampleController($scope, $timeout) {
$scope.addAttribute = true;
}
mymodule.controller('sampleController', sampleController)
.directive('multipleAttr', function() {
return {
'restrict': 'A',
'compile': function() {
return {
'pre': function($s, $el, attrs) {
if (attrs.multipleAttr === 'true' || attrs.multipleAttr === true) {
$el.attr('multiple', true);
}
}
}
}
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="sampleController">
<select multiple-attr="{{addAttribute}}">
<option>Hi</option>
<option>Hello</option>
<option>Hey</option>
</select>
</div>
</div>
相關:HTTP:/ /stackoverflow.com/questions/31872232/conditionally-add-the-multiple-attribute-to-ui-select –
有幾百個谷歌搜索結果相關,無一解釋爲什麼這不起作用:) – monstro
您不能使用角度插值在布爾屬性上。看到這裏:https://docs.angularjs.org/guide/interpolation我建議使用@mikeyaworski發佈的鏈接或這一個:http://stackoverflow.com/questions/24043732/conditional-multiple-attribute-in -input-type-file-with-angularjs – JGibbers