0

ページにチェックボックスがあります

 <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 では機能しません。

4

5 に答える 5

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>
于 2012-10-17T09:35:25.663 に答える
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属性があり、ボタンには.NETOnClickイベントがあります。

別の方法として、チェックボックスからHTML onlclickを削除し、ClientIDMode = "Static"をチェックボックスに追加して、スクリプトを次のように変更します。

<script type="text/javascript">
  $(document).ready(function() {

    $("#chkfilteritem").click(function() {
      calc();
    });

  });

  function calc() {
    document.getElementById('<%=btnclick.ClientID %>').click();
  }
</script>
于 2012-10-17T09:37:51.773 に答える
0

チェックボックスの OnCheckedChanged イベントを使用してチェックすることができます。

于 2012-10-17T10:26:19.943 に答える
0

マスターページを使用している場合は、これを試してください

 document.getElementById('<%= btnclick.ClientID %>').click();
于 2012-10-17T09:36:54.503 に答える
-1

テストされていませんが、これを試してください:

<asp:CheckBox onclick="javascript:calc();" ID="chkfilteritem" runat="server" Text="Yes" />
于 2012-10-17T09:35:05.127 に答える