」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 jQuery 根據所選國家/地區填入級聯下拉清單?

如何使用 jQuery 根據所選國家/地區填入級聯下拉清單?

發佈於2024-11-25
瀏覽:776

How to Populate a Cascading Dropdown with Cities Based on Selected Country Using jQuery?

使用JQuery 填充級聯下拉清單

問題:

您的目標是建立一個動態使用JQuery建立具有兩個下拉清單(國家/地區和城市)的表單,確保僅與所選國家/地區對應的城市顯示在城市中dropdown.

原始JavaScript 代碼:

原始JavaScript 函數在工作時面臨Internet Explorer 中的相容性問題。它根據所選國家/地區動態填充城市下拉列表,依賴城市選項的硬編碼數組。

JQuery 實現:

為了增強相容性並簡化實現,JQuery可以就業。這是使用 JQuery 的有效方法:

jQuery(function ($) {
  var locations = {
    'Germany': ['Duesseldorf', 'Leinfelden-Echterdingen', 'Eschborn'],
    'Spain': ['Barcelona'],
    'Hungary': ['Pecs'],
    'USA': ['Downers Grove'],
    'Mexico': ['Puebla'],
    'South Africa': ['Midrand'],
    'China': ['Beijing'],
    'Russia': ['St. Petersburg'],
  }

  var $locations = $('#location');
  $('#country').change(function () {
    var country = $(this).val(), lcns = locations[country] || [];

    var html = $.map(lcns, function (lcn) {
      return ''
    }).join('');
    $locations.html(html)
  });
});

解釋:

  • 我們定義一個物件位置,將國家/地區對應到對應城市的陣列。
  • 更改事件處理程序國家/地區下拉清單觸發城市下拉清單的動態人口。
  • 事件處理程序取得所選國家/地區並從位置擷取對應的城市陣列object.
  • 循環為城市建立HTML 選項元素,並使用$locations.html(html) 將它們附加到City 下拉清單。

Demo:

您可以參考提供的 Fiddle 連結來取得工作簡報。

這個 JQuery 實作簡潔,跨瀏覽器相容,並且方便級聯下拉清單的動態人口。

最新教學 更多>
  • 如何使用不同數量列的聯合數據庫表?
    如何使用不同數量列的聯合數據庫表?
    合併列數不同的表 當嘗試合併列數不同的數據庫表時,可能會遇到挑戰。一種直接的方法是在列數較少的表中,為缺失的列追加空值。 例如,考慮兩個表,表 A 和表 B,其中表 A 的列數多於表 B。為了合併這些表,同時處理表 B 中缺失的列,請按照以下步驟操作: 確定表 B 中缺失的列,並將它們添加到表的...
    程式設計 發佈於2025-04-12
  • CSS :not()選擇器在Safari、Chrome和Firefox中的不同表現原因
    CSS :not()選擇器在Safari、Chrome和Firefox中的不同表現原因
    問題:Safari renders the text in blue, while Chrome and Firefox use red.Cause:The root cause is Safari's recent implementation of the level 4 :not() ...
    程式設計 發佈於2025-04-12
  • 如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    從python import codecs import codecs import codecs 導入 text = codecs.decode('這狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#帶有...
    程式設計 發佈於2025-04-12
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-04-12
  • HTML格式標籤
    HTML格式標籤
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    程式設計 發佈於2025-04-12
  • 如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    在Visual Studio 2012 儘管已安裝了MySQL Connector v.6.5.4,但無法將MySQL數據庫添加到實體框架的“ DataSource對話框”中。為了解決這一問題,至關重要的是要了解MySQL連接器v.6.5.5及以後的6.6.x版本將提供MySQL的官方Visual...
    程式設計 發佈於2025-04-12
  • \“(1)vs.(;;):編譯器優化是否消除了性能差異?\”
    \“(1)vs.(;;):編譯器優化是否消除了性能差異?\”
    答案: 在大多數現代編譯器中,while(1)和(1)和(;;)之間沒有性能差異。編譯器: perl: 1 輸入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    程式設計 發佈於2025-04-12
  • Python求閾值以下最大整數立方根方法
    Python求閾值以下最大整數立方根方法
    在此代碼段中找到最大的整數cube root小於閾值該條件表示為n **(1/3)==,在其中我們要檢查n是否取得n的cube root的結果是整數。但是,出現了關於如何執行此檢查的問題。 檢查float是否是integer 的浮點不重新計算會計,請務必注意,浮點算術可以不精確。因此,在比較浮子以...
    程式設計 發佈於2025-04-12
  • 為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    為什麼我在Silverlight Linq查詢中獲得“無法找到查詢模式的實現”錯誤?
    查詢模式實現缺失:解決“無法找到”錯誤在Silverlight應用程序中,嘗試使用LINQ建立LINQ連接以錯誤而實現的數據庫”,無法找到查詢模式的實現。”當省略LINQ名稱空間或查詢類型缺少IEnumerable 實現時,通常會發生此錯誤。 解決問題來驗證該類型的質量是至關重要的。在此特定實例...
    程式設計 發佈於2025-04-12
  • 如何限制動態大小的父元素中元素的滾動範圍?
    如何限制動態大小的父元素中元素的滾動範圍?
    在交互式接口中實現垂直滾動元素的CSS高度限制問題:考慮一個佈局,其中我們具有與用戶垂直滾動一起移動的可滾動地圖div,同時與固定的固定sidebar保持一致。但是,地圖的滾動無限期擴展,超過了視口的高度,阻止用戶訪問頁面頁腳。 映射{} 因此。我們不使用jQuery的“ .aimimate...
    程式設計 發佈於2025-04-12
  • 如何使用Python的請求和假用戶代理繞過網站塊?
    如何使用Python的請求和假用戶代理繞過網站塊?
    如何使用Python的請求模擬瀏覽器行為,以及偽造的用戶代理提供了一個用戶 - 代理標頭一個有效方法是提供有效的用戶式header,以提供有效的用戶 - 設置,該標題可以通過browser和Acterner Systems the equestersystermery和操作系統。通過模仿像Chro...
    程式設計 發佈於2025-04-12
  • 防止Go程序長時間運行中途終止的技巧
    防止Go程序長時間運行中途終止的技巧
    在GO中避免過早的程序終止 ,一個人可以遇到一個長期運行的程序,其邏輯在同一goroutines中執行,同時終止了主函數,該邏輯在主函數中終止了主函數。為了防止這種不受歡迎的行為,開發人員尋求最佳實踐來防止主要功能終止,從而確保程序的繼續操作。 通常使用的一種方法是創建通道並通過在該頻道上接收到主...
    程式設計 發佈於2025-04-12
  • 如何通過名稱查找Windows窗體控件?
    如何通過名稱查找Windows窗體控件?
    在Windows窗體中按名稱查找控件 在Windows窗體中按名稱查找控件是訪問窗體中特定元素的一種便捷方法。在處理大量控件或自動化任務時,這尤其有用。 解決方案: 要按名稱查找控件,請使用Control.ControlCollection.Find方法。此方法採用一個字符串參數,表示要查找的控...
    程式設計 發佈於2025-04-12
  • Go語言圖像旋轉與合併技巧
    Go語言圖像旋轉與合併技巧
    問題 (i2)的目標是以特定角度將i1和i2放在bi上並創建最終圖像。提供I1和I2的坐標以及它們的旋轉角度。 i1 and i2 may overlap partially, but a z-index determines which image should appear in the f...
    程式設計 發佈於2025-04-12
  • 如何使用node-mysql在單個查詢中執行多個SQL語句?
    如何使用node-mysql在單個查詢中執行多個SQL語句?
    在node-mysql node-mysql文檔最初出於安全原因最初禁用多個語句支持,因為它可能導致SQL注入攻擊。要啟用此功能,您需要在創建連接時將倍增設置設置為true: var connection = mysql.createconnection({{multipleStatement:...
    程式設計 發佈於2025-04-12

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3