2016-07-05 8 views
-1

Ich habe eine Gruppe von Kontrollkästchen mit dem gleichen Namen. Der Benutzer muss mindestens ein Kontrollkästchen auswählen und wenn "Andere" ausgewählt ist, ist das Textfeld "Promotion_Other" obligatorisch.Wenn ein bestimmtes Kontrollkästchen ausgewählt ist, um das Textfeld obligatorisch zu machen (Checkbox-Gruppe)

Ich bin nicht sicher, wie dies mit den Kontrollkästchen mit dem gleichen Namen zu tun ist.

<input type="checkbox" name="Prefer_Promotion[]" value="food_and_beverages_discounts" >Food & beverages discounts</label> 
<input type="checkbox" name="Prefer_Promotion[]" value="complimentary_hotel_facilities">Complimentary hotel facilities</label> 
<input type="checkbox" name="Prefer_Promotion[]" value="complimentary_gym_access">Complimentary gym access</label> 
<input type="checkbox" name="Prefer_Promotion[]" value="others">Others</label> 
<input type="text" class="form-control" name="Promotion_Others" value="" maxlength="50"/> 

Antwort

0
<html> 
    <head> 
     <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script> 
      $(document).ready(function() { 
       $('#mysubmit').click(function() { 
        if ($('input[type=checkbox]').is(':checked')) { 
         // atleast one checkbox checked, do something... 
         // now check seleted is othere 

         $('input[type=checkbox]input:checkbox:checked').each(function() { 
          var value = $(this).attr('value'); 
          if ('others' === value) { 

           var others_value = $('.form-control').val(); 
           if (!others_value) { 
            alert('Please fill text field'); 
            return false; 
           } else 
            return true; 
          } 
         }); 
        } 
       }); 

      }); 

     </script> 
    </head> 
    <body> 
     <form id="myform"> 
      <input type="checkbox" name="Prefer_Promotion[]" value="food_and_beverages_discounts" >Food & beverages discounts</label> 
      <input type="checkbox" name="Prefer_Promotion[]" value="complimentary_hotel_facilities">Complimentary hotel facilities</label> 
      <input type="checkbox" name="Prefer_Promotion[]" value="complimentary_gym_access">Complimentary gym access</label> 
      <input type="checkbox" name="Prefer_Promotion[]" value="others">Others</label> 
      <input type="text" class="form-control" name="Promotion_Others" value="" maxlength="50"/> 
      <input type="button" value="submit" id="mysubmit"/> 
     </form> 
    </body> 
</html> 

dieses Snippet Versuchen. Kommentar wenn Hilfe benötigt

+0

Ich denke über die Verwendung von jQuery Erforderliche Validierung, aber ich habe Schwierigkeiten mit dem zweiten Teil der If-Anweisung. Promotion_Others: { erforderlich: { hängt ab: function (element) { if (($ input [name = 'Prefer_Promotion []']: checked "). Length> 0) && (wenn das checkbox-Array 'andere' enthält)) { \t \t Rückkehr wahr; } } } }, – Spiral1ng

+0

@ user558085 Das ist eine ganz andere Frage. Bitte akzeptiere eine korrekte Antwort auf diese Frage und frage danach als neue Frage. Sobald Sie die neue Frage stellen, werden Sie sofort Dutzende von Augen bekommen, die es lesen und versuchen zu helfen, anstatt darauf zu warten, dass die wenigen Leute, die dieser Frage folgen, antworten. – gibberish

+0

Ich habe diesen Code getestet. und es funktioniert. @ user558085: Sie können die Antwort akzeptieren, wenn dies geholfen hat –

Verwandte Themen