使用 Angular.JS 使一组 checkbox 只能选一个,或者一个都不选
发布于 10 年前 作者 russj 6488 次浏览 最后一次编辑是 8 年前 来自 分享

如果使用 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

回到顶部