[英]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) {
}
在檢查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.