【发布时间】:2017-11-15 06:02:21
【问题描述】:
我在 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 发送到一个函数,该函数将做更多的事情,当返回时基于该值,如果它大于 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(选中复选框)。我注释掉的行不起作用!
任何反馈将不胜感激!
【问题讨论】:
-
在浏览器中检查您的
#valCheck与id具有相同的checkbox -
如果你在同一个aspx页面中写过js代码,试试
$('<%=valCheck.ClientID %>').is(':checked')。 -
我认为 asp.net 在将页面发送到浏览器时会更改 id,因此请在您的复选框字段中使用
ClientIDMode="static"然后尝试。 -
@Prashant Shirke 我的 js 代码在不同的文件中!
标签: javascript jquery asp.net checkbox