2012-03-27 14 views
0

Ich habe ein kleines Problem, ich suche, aber ich kann nicht gefunden, was ich brauche, ich habe 3 Kontrollkästchen und ein Textfeld in einem Formular, ich muss den Benutzer validieren nur kann das Textfeld bearbeiten, wenn sie alredy eine Checkbox, und kann nur eine prüft ich versuche diese Möglichkeiten:überprüfen, dass Kontrollkästchen für ein Textfeld erforderlich ist

$("#tbCodCliente").validate({ 
       rules: { 
        checkbox: { 
        required: 'input[type="checkbox"]:checked', 
        minlength: 1 
        } 
       }, 
       messages: { 
        checkbox: "Please check at least one." 
       } 

tbCodCliente die Textbox des Formulars ist

oder versuchen

('#tbCodCliente').change(function() { 
       if($("input:checked").length == 0) { 
      // 
        $("#request-form").validate({ 
         rules: { 
          checkbox: { 
           required: 'input[type="checkbox"]:checked', 
           minlength: 1 
           } 
         }, 
         messages: { 
          checkbox: "Please check at least one." 
         } 
        });   
      //   
       } 
      }); 

Dies (Nur eine Checkbox geprüft zu einer Zeit und Kraft) im Änderungsereignishandler ist mein Kontrollkästchen Code

<%= Html.CheckBox("cbCodigo") %> <label class="inline" for="Codigo">Codigo</label> 
<%= Html.CheckBox("cbNombreCliente") %> <label class="inline" for="NombreCliente">Nombre del cliente</label> 
<%= Html.CheckBox("cbCiudad") %> <label class="inline" for="Ciudad">Ciudad</label> 

Antwort

1

ich die Textbox standardmäßig deaktivieren würde und es dann ermöglichen.

$(document).ready(function(){ 
    $('#tbCodCliente input[type="checkbox"]').change(function(e) { 
     if($("input:checked").length == 0) { 
      $("#request-form").validate({ 
       rules: { 
        checkbox: { 
         required: 'input[type="checkbox"]:checked', 
         minlength: 1 
        } 
       }, 
       messages: { 
        checkbox: "Please check at least one." 
       } 
      }); 
     } 
     else{ 
      $("input[type='text']:disabled").removeAttr('disabled'); 
      $("input:checked").not($(e.target)).removeAttr('checked'); 

     } 
    }); 
}); 

jsFiddle

+0

oh Dank !!, denke nie in dieser Option, wie ich deaktivieren? hinzufügen? –

+1

Add $ ("input [type = 'text']"). Attr ("deaktiviert", "deaktiviert"); als erste Zeile des Ready-Event-Handlers. – devstruck

+0

es funktioniert dank! –

Verwandte Themen