당신을 활용할 수있다 불확정 상태는 <input type="checkbox">
입니다.
MDN web docs :가 존재합니다. 확인란이 선택되지 않았거나 선택되지 않았지만 결정되지 않은 확인란이 있습니다. 이것은 JavaScript를 통해 HTMLInputElement 객체의 불확정 속성을 사용하여 설정됩니다 (HTML 속성을 사용하여 설정할 수 없음).
PLUNKER : TRISTATE DIRECTIVE
HTML
<label>
<input type="checkbox" ng-model="state" indeterminate /> {{state}}
</label>
DIRECTIVE
app.directive('indeterminate', function() {
return {
restrict: 'A',
scope: {
model: '=ngModel'
},
link: function(scope, el, attrs, ctrl) {
var states = [true, false, undefined];
var index = states.indexOf(scope.model);
setIndeterminate();
el.bind('click', function() {
scope.model = states[++index % 3];
setIndeterminate();
});
function setIndeterminate() {
scope.$applyAsync(function() {
el[0].indeterminate = (scope.model === undefined);
});
}
}
};
});
EXTRA를 : 당신이 불확실한 상태를 나타내는 문자열을 추가하려면는이 CSS
input:indeterminate:after {
content: "indeterminate";
padding-left: 20px;
display: inline-block;
width: 80px;
}
이 브라우저가 의존을 사용할 수 있습니까? 나는 그것이 진실에서 거짓으로 바뀌는 것을 볼 수만 있었다. (지시어 나 변경 핸들러가없는 것과 같다.) IE11을 통해 테스트되었습니다. – Sebastian
감사합니다.귀하의 지시어를 포크하고 두 개의 체크 박스가있는 트라이 - 스테이트 지시어를 만들었습니다. http://jsfiddle.net/laurilubi/dj6gkzrg/2/ –