我的页面中有一个复选框
<asp:CheckBox onclick="calc();" ID="chkfilteritem" runat="server" Text="Yes" />
和一个按钮
<asp:Button ID="btnclick" runat="server" Text="." onclick="btnclick_Click" />
我也有一个javascript
<script type="text/javascript">
function calc() {
document.getElementById('<%=btnclick %>').click();
}
</script>
我需要的是当我选中或取消选中我需要使用javascript触发按钮上的点击事件的复选框时。但是它无法使用我当前的javascript。
答案 0 :(得分:1)
如果您正在使用jQuery,请执行以下操作:
<asp:CheckBox CssClass="checkFilter" ID="chkfilteritem" runat="server" Text="Yes" />
<asp:Button CssClass="buttonClick" ID="btnclick" runat="server" Text="." onclick="btnclick_Click" />
<script type="text/javascript">
$('.checkFilter').on('change', function() {
if(this.checked) {
$('.buttonClick').click();
}
}
</script>
我说你可以使用ClientIDMode="Static"
,但我不确定你是否在可重复使用的控件中使用你的代码,这会搞砸。
你也可以走这条路(可读性差得多,但它会起作用):
<script type="text/javascript">
$('#<%=chkfilteritem.ClientID %>').on('change', function() {
if(this.checked) {
$('#<%=btnclick.ClientID %>').click();
}
}
</script>
答案 1 :(得分:0)
如果您使用母版页
,请尝试此操作 document.getElementById('<%= btnclick.ClientID %>').click();
答案 2 :(得分:0)
如果使用.NET 4 +
,您可以更改ID的输出<asp:CheckBox onclick="calc();" ID="chkfilteritem" runat="server" Text="Yes" />
<asp:Button ID="btnclick" runat="server" Text="." OnClick="btnclick_Click" ClientIDMode="Static" />
<script type="text/javascript">
function calc() {
document.getElementById('<%=btnclick.ClientID %>').click();
}
</script>
现在应该触发点击事件。
该复选框具有HTML onclick属性,而该按钮具有.NET OnClick事件。
另一种方法是从复选框中删除HTML onlclick,将ClientIDMode =“Static”添加到复选框并将脚本更改为如下。
<script type="text/javascript">
$(document).ready(function() {
$("#chkfilteritem").click(function() {
calc();
});
});
function calc() {
document.getElementById('<%=btnclick.ClientID %>').click();
}
</script>
答案 3 :(得分:0)
您可以使用复选框的OnCheckedChanged事件,然后检查。
答案 4 :(得分:-1)
未经测试,但试试这个:
<asp:CheckBox onclick="javascript:calc();" ID="chkfilteritem" runat="server" Text="Yes" />