2012-09-28 6 views
-1

J'ai une série de cases à cocher sur ma page. Code pour l'un d'eux:Identifiez la case à cocher

<div> 
      <label for="ViewAsWebpage"> 
       {{#if this.ViewAsWebpage}} 
        <input type="hidden" id="ViewAsWebpage" name="ViewAsWebpage" value="true"/> 
        <input type="checkbox" class="enable-checkbox" checked /> 
       {{else}} 
        <input type="hidden" id="ViewAsWebpage" name="ViewAsWebpage" value="false"/> 
        <input type="checkbox" class="enable-checkbox" /> 
       {{/if}} 
       <span>View as Webpage</span> 
      </label> 
     </div> 

Je suis en train de définir la valeur true/false en fonction des clics de l'utilisateur et que vous souhaitez publier cette valeur lorsque le formulaire est soumis comme suit:

$('input.enable-checkbox').click(function (e) { 

        if ($('input.enable-checkbox').parent().attr("for") == "ViewAsWebpage") { 
         var checked = $('#ViewAsWebpage').is(":checked"); 
         $('#ViewAsWebpage').attr("value", checked); 

        } 

Existe-t-il une meilleure façon de définir la valeur de la case à cocher sur Vrai/Faux en cochant la case cochée sur la page (il y en a plusieurs)?

+0

Pourquoi ne pas changer '$ ('# ViewAsWebpage') attr ("valeur", cochée),' à '$ ('# ViewAsWebpage'.) .val (cochée); – 0x499602D2

+0

@David: Cela signifie la même chose. – dotNetNewbie

+0

@undefined: Ils sont uniques – dotNetNewbie

Répondre

0

Essayez cette

$('input.enable-checkbox').on('click', function (e) { 
    $(this).closest('label').val(this.checked); 
}) 
0

vous devez d'abord donner des identifiants à vos cases à cocher elles-mêmes. puis:

$("#idCheckbox1").change(function(){ 
    if($("#idCheckbox1").attr('checked')){ 
     $("#ViewAsWebPage").val("true") 
    } 
} 

$("#idCheckbox2").change(function(){ 
    if($("#idCheckbox2").attr('checked')){ 
     $("#ViewAsWebPage").val("false") 
    } 
}