亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未觸發 JQuery 下拉列表/選擇 onchange 事件

未觸發 JQuery 下拉列表/選擇 onchange 事件

大話西游666 2023-06-15 17:28:49
我在 asp.net 表單中有這個 dropodownlist/combobox/select 元素:<asp:DropDownList  ID="_ddlMode"  runat="server"  AppendDataBoundItems="true"  ClientIDMode="Static"  CssClass="input_medium"  DataSourceID="_sdsModes"  DataTextField="description"  DataValueField="id"> <asp:ListItem Selected="True" Text="None" Value="" /></asp:DropDownList>SetModes()當用戶更改所選元素時,我需要調用函數。我試過這個: $(function () {   $(document.body).on('change', '_ddlMode', function () {       var _index = $("select[id='_ddlMode'] option:selected").index();       SetModes(_txtBank, _txtZip, _index);   }); });沒有運氣。然后我試了這個: $(function () {    _ddlMode= $("input[id$='_ddlMode']");    _ddlMode.change(        function () {           var _index = $("select[id='_ddlMode'] option:selected").index();           SetModes(_txtBank, _txtZip, _index);        }    );});再次沒有運氣......錯誤在哪里?有更有效的方法來檢索事件處理中所選元素的索引嗎?PS我正在使用jquery-.2.1.3,jquery-ui-1.11.2
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

所以,你愿意在你的javascript代碼中使用一個方法,但它不適合你。它沒有擊中它的背后可能有很多原因,我會在這里寫一些可能的原因及其各自可能的解決方案。


原因:

由于您使用 jQuery 將下拉列表與更改事件綁定,我懷疑您的 jQuery 是否被正確引用。


解決方案:

轉到瀏覽器的開發工具選項console卡 ( CTRL++ ) 并查看是否存在未加載 jQuery 的任何錯誤,如果是則修復它SHIFT。I


原因:

在綁定事件#之前,您沒有指定 css 選擇器。id


解決方案:


$(function () {

? ?$(document.body).on('change', '#_ddlMode', function () {

? ? ? ?var _index = $("select[id='_ddlMode'] option:selected").index();

? ? ? ?SetModes(_txtBank, _txtZip, _index);

? ?});

?});

原因:

您的事件未綁定到所需的控件。這可能非常特定于ASP.NETWeb 窗體,因為您在構建 Web 應用程序時可能會遇到它。


因此,從技術上講,ASP.NET可以在編譯控件時修改控件的 ID,這可能是未命中該方法的可能原因。


例如,如果您有一個ContentPlaceHolder帶有一個idofcph_1并且其中有標記作為您的子頁面,那么ASP.NET將將該 id 與您的每個嵌套服務器控件連接起來。因此,如果您在該內容占位符中有一個textbox帶有一個idof ,則在瀏覽該頁面時它會被修改為。tb1cph1_tb1


解決方案:

借助此語法 ( <%%>) 綁定您的事件,如下所示:


$(function () {

? ?$(document.body).on('change', '#<%= _ddlMode.ClientID %>', function () {

? ? ? ?var _index = $("select[id='<%= _ddlMode.ClientID %>'] option:selected").index();

? ? ? ?SetModes(_txtBank, _txtZip, _index);

? ?});

?});

看看您是否可以使用這些解決方案解決問題。


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號