检测是否在asp.net和javascript中选中了复选框

时间:2017-06-13 12:40:20

标签: javascript jquery asp.net checkbox

我在asp:Panel中有一个CheckBox控件,如下所示:

<asp:Panel ID="chk" runat="server" Visible="false" CssClass="checkbox checkbox-primary checkbox-single">
    <asp:CheckBox runat="server" ID="valCheck" />
</asp:Panel>

我需要能够检查是否正在检查这个CheckBox然后我会将0或1发送给一个能做更多东西的函数,当根据值返回时,如果它&#39;如果大于0,它将显示一个选中的复选框。我需要使用这个值,因为我也有一些其他类型的输入,我根据另一个调用返回的值设置它们的值。

var checking = false;
function saveCheckBoxData(obj, id, inputType) {
    if (checking) return;
    checking = true;
    var date = $("#MainContent_date").val();
    var column = $(obj).attr("column");
    var dataFieldId = $(obj).attr("dataFieldId ");
    var shift = $(obj).attr("shift");
    var val = 0;
    //if ($("#valCheck").is(':checked')) {
    //    val = 1;
    //}
    //if ($('#valCheck').prop('checked')) {
    //    val = 1;
    //}
    //if ($('#valCheck').attr("checked")) {
    //    val = 1;
    //}
    SaveInput(dataFieldId , shift, inputType, date, column, id, val);
}

当我调用SaveInput函数时,我需要传递0(如果未选中复选框)或1(当它被选中时)。我已经注释掉的那条线不起作用了!

非常感谢任何反馈!

2 个答案:

答案 0 :(得分:3)

当您使用valCheck元素ID更改(检查元素以查看新ID)时,id不完全是runat="server",那么您需要使用jquery选择器,如:

$("select[id*='valCheck']")

$("select[id$='valCheck']")

或者您只需在asp元素中添加attr ClientIdMode="Static"

<asp:CheckBox runat="server" ID="valCheck" ClientIdMode="Static" />

如果您想了解其发生的原因,请查看article

答案 1 :(得分:0)

简单的javascript

 var isChecked= document.getElementById("myCheck").checked;
如果选中

isChecked将为true,如果未选中则为false