在复选框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);
}
});
});
}
答案 0 :(得分:2)
根据当前实现,只要change
状态发生更改,就会使用内联checked
处理程序将不显眼的onchange="citfc()"
事件处理程序附加到元素。
要执行所需选项,请使用不显眼的事件处理程序并删除<asp:CheckBox ID="chk_citfc" runat="server" Text="is applicable" />
。
HTML 的
$(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);
}
}
或者,使用内联事件处理程序
{{1}}
答案 1 :(得分:2)
试试这......它可能有效
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();
});