2014-11-17 10 views
5

की आवश्यकता नहीं है यदि यह एक डुप्लिकेट है तो मुझे आश्चर्य नहीं होगा हालांकि मुझे जो कुछ चाहिए, उसके साथ मुझे कुछ भी आसान नहीं मिल रहा है।Angular.js को कम से कम एक चेकबॉक्स

मुझे केवल उपयोगकर्ता को कम से कम एक चेकबॉक्स चुनने की आवश्यकता है, लेकिन मैं इसे पूरा करने के लिए परेशान हूं।

<input type="checkbox" ng-model="myForm.first" /> First <br /> 
    <input type="checkbox" ng-model="myForm.second" />Second <br /> 
    <input type="checkbox" ng-model="myForm.third" /> Third 

उत्तर

6
<input type="checkbox" ng-model="myForm.first" ng-required="myForm.first || myForm.second || myForm.third" /> First <br /> 
<input type="checkbox" ng-model="myForm.second" ng-required="myForm.first || myForm.second || myForm.third"/>Second <br /> 
<input type="checkbox" ng-model="myForm.third" ng-required="myForm.first || myForm.second || myForm.third"/> Third 
+0

मैं इस दृष्टिकोण की कोशिश की और सभी को है कि यह मेरे से कोई भी चयन करने के लिए आवश्यक है, या फिर चेक बॉक्स। इस मामले में कि कोई भी चेक नहीं किया गया है, एनजी-आवश्यक उन सभी के लिए झूठा है, सत्यापन सफल बनाते हैं। अगर केवल पहले चेक किया गया है, तो सभी चेकबॉक्स आवश्यक हो जाते हैं जिससे सत्यापन विफल हो जाता है। यदि सभी की जांच की जाती है, तो सभी आवश्यक है, और सत्यापन सफल होता है। – Binnut

+0

'! (MyForm.first || myForm.second || myForm.third) का उपयोग कर हालांकि ठीक काम करता है। – Binnut

+1

और यदि आपके पास 20 चेकबॉक्स हैं? यह समाधान केवल तभी अच्छा है जब आपके पास कुछ – Nat

0

एचटीएमएल

<div ng-app="myApp" ng-controller="myCrtl as myForm"> 
    <input type="checkbox" ng-required="myForm.selectedOptions" ng-model="myForm.selectedOptions.first" ng-change="myForm.onCheckBoxSelected()" /> First <br /> 
    <input type="checkbox" ng-required="myForm.selectedOptions" ng-model="myForm.selectedOptions.second" ng-change="myForm.onCheckBoxSelected()"/>Second <br /> 
    <input type="checkbox" ng-required="myForm.selectedOptions" ng-model="myForm.selectedOptions.third" ng-change="myForm.onCheckBoxSelected()"/> Third<br/> 
    <span style="color:red;" ng-if="!myForm.selectedOptions ">Required</span> 
</div>  

जे एस

angular.module('myApp',[]) 
    .controller('myCrtl',function(){ 
     var myForm=this; 
     myForm.onCheckBoxSelected=function(){ 

     var flag=false; 
     for(var key in myForm.selectedOptions){ 

      if(myForm.selectedOptions[key]){ 
       flag=true; 
      } 
     } 
     if(!flag){ 
      myForm.selectedOptions = undefined; 
     } 
    }; 

}); 

जे एस बेला: http://jsfiddle.net/fodyyskr/

+0

है, यह एनजी-आवश्यक का सही उपयोग नहीं है। आपका उदाहरण एनजी-आवश्यक के बिना लागू किया जा सकता है: http://jsfiddle.net/yzjugv90/ – britter

संबंधित मुद्दे