使用 Angular.JS 使一组 checkbox 只能选一个,或者一个都不选
如果使用 radio button,必须选一个。但是有时候需要一个都不选的情况就不能使用 radio button了
var checkbox2radio = function (checkboxValueArray){
for(var i=0; i<checkboxValueArray.length; i++)(function(n){
$scope.$watch(checkboxValueArray[n], function(newValue){
if(newValue){
for(var j=0; j<checkboxValueArray.length; j++){
if (n!=j){
$scope[checkboxValueArray[j]] = false;
}
};
}
});
})(i);
};
checkbox2radio([‘checkVal1’, ‘checkVal2’]); checkbox2radio([‘val1’, ‘val2’, ‘val3’, ‘val4’]);
在线例子 http://jsfiddle.net/89pepkz2/1/ Gist: https://gist.github.com/russj/b2455abfe4c05200b78b