使用 Angular.JS 使一组 checkbox 只能选一个,或者一个都不选
发布于 1个月前 作者 russj 195 次浏览 来自 分享

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

回到顶部