确定单击了哪个复选框

时间:2012-09-28 16:27:12

标签: javascript jquery

我的页面上有一组复选框。其中一个的代码:

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

2 个答案:

答案 0 :(得分:0)

首先,您应该为自己的复选框提供ID。然后:

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

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

答案 1 :(得分:0)

试试这个

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