在复选框onchange()
事件我正在尝试隐藏/显示两个文本框,但我遇到了问题。CheckBox的jQuery onchange()
IE中工作,但在Mozilla Firefox中不起作用。我搜索了很多文章,但没有看到任何合适的答案。那怎么办?
对不起,我的英语不好。
<asp:CheckBox ID="chk_citfc" runat="server" onchange="citfc()" Text="is applicable" />
function citfc() {
$(function() {
$('#<%=chk_citfc.ClientID %>').click(function() {
if ($(this).is(":checked")) {
$('#<%=TXT_CITFC.ClientID %>').show(1000);
$('#<%=hfnumber.ClientID %>').show(1000);
} else {
$('#<%=TXT_CITFC.ClientID %>').hide(1000);
$('#<%=hfnumber.ClientID %>').hide(1000);
}
});
});
}
试试这个....它可能会起作用
function citfc() {
if ($('#<%=chk_citfc.ClientID%>').is(':checked'))
{
$("#<%=TXT_CITFC.ClientID%>").css("display", "block");
}
else
{
$("#<%=TXT_CITFC.ClientID%>").css("display", "none");
}
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function(s, e) {
citfc();
});
还要在文档就绪函数中调用相同的函数
$(document).ready(function() {
citfc();
});
根据
当前的实现,每当状态更改时,不显眼的click
事件处理程序都会使用内联change
处理程序附加到元素checked
。
要执行所需的选项,请使用不显眼的事件处理程序并摆脱onchange="citfc()"
。
.HTML
<asp:CheckBox ID="chk_citfc" runat="server" Text="is applicable" />
脚本
$(function() {
$('#<%=chk_citfc.ClientID %>').change(function() {
if (this.checked) {
$('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').show(1000);
} else {
$('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').hide(1000);
}
});
});
或者,正确使用内联事件处理程序
<asp:CheckBox ID="chk_citfc" runat="server" onchange="citfc(this)" Text="is applicable" />
function citfc(element) {
if (element.checked)) {
$('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').show(1000);
} else {
$('#<%=TXT_CITFC.ClientID %>, #<%=hfnumber.ClientID %>').hide(1000);
}
}