我在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(当它被选中时)。我已经注释掉的那条线不起作用了!
非常感谢任何反馈!
答案 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