2

チェックとチェックなしがasp.netで機能しないのはなぜですか?チェックされたプロパティが表示されていないように見えますか?jqueryを使用して、チェックされているブール値とチェックされていないブール値をアラートに入れようとしていますか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.8.1.js" type="text/javascript"></script>
    <script src="JScript1.js" type="text/javascript"></script>
    <script type="text/javascript">



    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:CheckBox ID="CheckBox1" runat="server" />
    </div>
    </form>
</body>
</html>





$(document).ready(function () {

    $("#CheckBox1").click(function () {

        if ($(this).is(':checked')) {
           alert("true");

        } else {
            alert("false");
        }

    });
});
4

4 に答える 4

2

Firebug を使用して要素の ID を確認します。ASP.NET が CheckBox1 の最後にランダムな ID 文字列を追加するため、Jquery がそれを取得しないことはわかっています。

最善の方法は、標準の HTML で囲み、親から要素を呼び出すことです。

<div id="CheckContainer">
    <asp:CheckBox ID="CheckBox1" runat="server" />
</div>

その後

$(document).ready(function () {

$("#CheckContainer input[type='checkbox']").click(function () {

    if ($(this).is(':checked')) {
       alert("true");

    } else {
        alert("false");
    }

});

});

于 2012-09-19T10:34:00.707 に答える
1

チェックボックスのクライアント側 IDはなりませんCheckBox1

CheckBox1.ClientIDそれを取得してjQueryで使用するには、使用する必要があります。

$("#<%:CheckBox1.ClientID%>")

詳細についてControl.ClientIDは、MSDN を参照してください。

于 2012-09-19T10:29:43.477 に答える
1

Asp.Net コントロールには runat="server" 属性があるため、要素の ID が ContentPanel に追加されます..したがって、ディレクター セレクターは機能しません..これを試してください

したがって、この場合の有効なセレクターは次のようになります

$("[id$=CheckBox1]")  
$("[id*=CheckBox1]")
$("#<%= CheckBox1.ClientID %>")


$(document).ready(function () {
    $("[id$=CheckBox1]").click(function () {
        if ($(this).is(':checked')) {
           alert("true");
        } else {
            alert("false");
        }
    });
});
于 2012-09-20T23:18:18.630 に答える
0

この行を削除して、再試行してください

<script src="JScript1.js" type="text/javascript"></script>

jQueryコードをスクリプトタグ内に配置します。それがうまくいくことを願っています。

于 2012-09-19T13:43:35.733 に答える