[英]Using script within ASPX page
所以我在ASPX頁面中有這個代碼。 我試圖在同一頁面的文本框中使用它,但沒有成功。 但是,我可以在我的母版頁的文本框中使用該腳本嗎? 任何幫助將不勝感激,謝謝
<asp:Content runat="server" ID="FeaturedContent"
ContentPlaceHolderID="FeaturedContent">
<script src="jquery-1.12.1.js"></script>
<script src="jquery-ui.js"> </script>
<link href="jquery-ui.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('#txtStationName').autocomplete({
source: 'StationHandler.ashx'
});
});
</script>
<asp:TextBox ID="txtStationName" runat="server">
</asp:TextBox>
由於<asp:TextBox ID="txtStationName" runat="server">
是服務器端組件。 .NET將使用您的ID附加特定值。 這種情況可能有兩種解決方案。
1)您可以使用ClientIDMode="Static"
使生成的ID保持一致
<asp:Content runat="server" ID="FeaturedContent"
ContentPlaceHolderID="FeaturedContent">
<script src="jquery-1.12.1.js"></script>
<script src="jquery-ui.js"> </script>
<link href="jquery-ui.css" rel="stylesheet" />
<script type="text/javascript">
$(document).ready(function () {
$('#txtStationName').autocomplete({
source: 'StationHandler.ashx'
});
});
</script>
<asp:TextBox ID="txtStationName" runat="server" ClientIDMode="Static">
</asp:TextBox>
2)或者從開發者控制台找到在DOM上生成的確切ID,並在該元素上使用js。
asp.net編譯器將更改您的文本框的ID。 要防止這種情況,您需要這樣做:
<asp:TextBox ID="txtStationName" runat="server" ClientIdMode="static">
</asp:TextBox>
我建議你在代碼中嘗試使用classname
<asp:TextBox CssClass="uniquetxtStationName" ID="txtStationName" runat="server">
</asp:TextBox>
並在腳本中使用它:
$('.uniquetxtStationName').autocomplete({
source: 'StationHandler.ashx'
});
這背后的原因:aspx將更新您的所有服務器標簽ID,因此您無法直接將標簽的實際ID用於javascript函數。
你有兩個工作選擇,一個是另一個是類
<asp:TextBox CssClass="clstext" ID="txtauto" runat="server"> </asp:TextBox>
對於你使用的課程
$('.clstext').autocomplete({
source: 'StationHandler.ashx'
});
如果你使用id然后
<asp:TextBox ID="txtStationName" runat="server" ClientIdMode="static">
$('.txtStationName').autocomplete({
source: 'StationHandler.ashx'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.