-1

ページに一連のチェックボックスがあります。それらの1つのコード:

<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> 

ユーザーのクリックに基づいて値をtrue/falseに設定しようとしていますが、フォームが次のように送信されたときにその値を投稿したいと思います。

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

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

                    }  

ページ上でクリックされたチェックボックス(複数あります)を特定して、チェックボックスの値をTrue / Falseに設定するより良い方法はありますか?

4

2 に答える 2

0

まず、チェックボックス自体にIDを指定する必要があります。それから:

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

$("#idCheckbox2").change(function(){
   if($("#idCheckbox2").attr('checked')){
       $("#ViewAsWebPage").val("false")
   }
}
于 2012-09-28T16:36:45.093 に答える
0

これを試して

$('input.enable-checkbox').on('click', function (e) {
    $(this).closest('label').val(this.checked);   
})
于 2012-09-28T16:45:40.847 に答える