簡體   English   中英

為什么選擇器不起作用(Jquery和Asp.net)

[英]Why isn't this selector working (Jquery and Asp.net)

我有一個asp.net應用程序。 在Default.aspx文件中,我有此代碼。

<asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">

    <div id="chrome_ctrl_placeholder"></div>
    <div>
        <asp:CheckBox ID ="aspTech" runat="server" /><br />
        <asp:TextBox ID="txtText" runat="server"></asp:TextBox><br />
        <input type="checkbox" name="checkBox" runat="server" value="Technical" id="Technical" /> Technical<br />
        <input type="checkbox" name="checkBox" runat="server" value="Commercial" id="Commercial"/> Commercial<br />
        <input type="checkbox" name="checkBox" runat="server" value="HR" id="HR"/>  HR <br />
        <%--<li><input type="button" runat="server" value="Save" id="btnSave" /></li>--%>

        <button id="btnSave" >Save</button> 
        <button id="btnChecked" >Checked</button> 
        <button id="btnText">Text</button>
    </div>

在App.js文件中,我有此代碼。

$(document).ready(function () {

$("#btnChecked").click(function () {
    alert("Checking");

    if ($("#Technical").checked == true) {
        alert("Tech Checked");
    }
    else
    {
        alert("Tech Not Checked");
    }
});
})

還有更多代碼,但不相關。

當我運行代碼時,它構建良好,並且當我單擊btnChecked按鈕時,它會發出“正在檢查”的警報,但是如果選中ID為“技術”的復選框,則它永遠不會出現,它總是會發出“未檢查技術”的警報。 正確的代碼是什么,以檢查是否已選中ASP復選框(ID為aspTech)?

$("#Technical")返回jQuery對象,而不是DOM元素。 checked屬性適用於DOM元素,不適用於jQuery對象。

使用jQuery等效項:

if ($("#Technical").is(":checked")) {
}

或訪問由jQuery對象包裝的DOM元素:

if ($("#Technical")[0].checked) {
}

嘗試使用的is方法:

$("#Technical").is(':checked')

prop

$("#Technical").prop('checked') === true

在檢查jQuery代碼中的服務器端控件時,應使用其ClientID引用該控件。

嘗試這個:

$(document).ready(function () {

$("#<%=btnChecked.ClientID%>").click(function () {
    alert("Checking");

    if ($("#<%=Technical.ClientID%>").checked == true) {
        alert("Tech Checked");
    }
    else
    {
        alert("Tech Not Checked");
    }
});
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM