」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 JavaScript 中動態產生選擇元素的選項?

如何在 JavaScript 中動態產生選擇元素的選項?

發佈於2024-12-23
瀏覽:763

How to Dynamically Generate Options for Select Elements in JavaScript?

使用 JavaScript 為選擇元素產生動態選項

在 Web 開發中,我們經常遇到為選擇元素創建動態選項的需要。如果手動完成,這可能是一項耗時的任務,尤其是在處理大量選項時。本文提供了使用 JavaScript 自動執行此程序的解決方案。

使用 For 迴圈建立選項

一種簡單的方法是使用 for 迴圈來迭代一系列值並動態建立選項元素。例如,要在 ID 為「mainSelect」的 select 元素中產生從 12 到 100 的選項,可以使用下列程式碼:

var min = 12;
var max = 100;
var select = document.getElementById('mainSelect');

for (var i = min; i 

此程式碼初始化最小值和最大值並檢索選擇元素。然後它進入一個循環來建立選項元素,設定它們的值和innerHTML,並將它們附加到選擇元素。

擴充 HTMLSelectElement

另一種方法是擴充 HTMLSelectElement 的原型,讓您能夠直接新增「populate()」方法來選擇元素。這允許您將填充函數連結到 DOM 節點,從而提供更簡潔的語法。

HTMLSelectElement.prototype.populate = function (opts) {
    var settings = {};

    settings.min = 0;
    settings.max = settings.min   100;

    for (var userOpt in opts) {
        if (opts.hasOwnProperty(userOpt)) {
            settings[userOpt] = opts[userOpt];
        }
    }

    for (var i = settings.min; i 

使用此擴展,您可以像這樣填入選擇元素:

document.getElementById('selectElementId').populate({
    'min': 12,
    'max': 40
});
最新教學 更多>
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-12-23
  • 如何在 Python 中有效率地取得使用者輸入的整數列表?
    如何在 Python 中有效率地取得使用者輸入的整數列表?
    取得使用者輸入的數字清單:Pythonic 解決方案嘗試使用輸入從使用者擷取數位清單時() 或raw_input() ,由於Python 傾向於將輸入解釋為字串,您可能會遇到意外結果。為了避免此問題並取得整數列表,請採用更 Pythonic 的方法,使用列表理解和輸入拆分。 a = [int(x) ...
    程式設計 發佈於2024-12-23
  • Launch4j 是 JEXECreator 產生 Java .exe 檔案的可靠替代方案嗎?
    Launch4j 是 JEXECreator 產生 Java .exe 檔案的可靠替代方案嗎?
    Java 可執行檔創建:探索JEXECreator 的替代方案為了尋求JEXECreator 的更可靠、更經濟的替代方案,本問題探討了為Java 程式生成Windows .exe 檔案的選項。先前使用 JEXECreator 的嘗試遇到了與相容性和試用版中是否存在導航畫面相關的挑戰。 替代解決方案:...
    程式設計 發佈於2024-12-23
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-12-23
  • 儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    解決PHP 中的POST 請求故障在提供的程式碼片段:action=''而非:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"檢查$_POST陣列:表單提交後使用 var_dump 檢查 $_POST 陣列的內容...
    程式設計 發佈於2024-12-23
  • 為什麼要使用“var that = this;”在 JavaScript 中?
    為什麼要使用“var that = this;”在 JavaScript 中?
    理解「var that = this;」的目的在JavaScript使用JavaScript 時,您可能會遇到包含語句「var that = this;」的程式碼片段。此構造在保留巢狀函數中「this」的上下文方面發揮著至關重要的作用,特別是在事件處理程序中。 在 JavaScript 中,「thi...
    程式設計 發佈於2024-12-23
  • 如何使用 PDO 高效檢查行存在性
    如何使用 PDO 高效檢查行存在性
    使用 PDO 檢查行是否存在使用資料庫時,通常需要根據行是否存在來執行不同的操作。本文探討如何使用 PHP 中流行的 PDO 函式庫有效率地檢查行是否存在。 PDO 和 Row ExistencePDO 提供了靈活高效的介面用於與各種資料庫互動。它的強大功能之一是prepare()方法,它允許您建立...
    程式設計 發佈於2024-12-23
  • 為什麼我的波斯文資料庫遷移後出現亂碼?
    為什麼我的波斯文資料庫遷移後出現亂碼?
    解碼資料庫儲存中的字元編碼問題將舊網站的資料遷移到新腳本時會出現令人費解的情況。原來由舊腳本正確呈現的儲存字元在新腳本中顯得扭曲。經過調查,發現這些字元以一種不尋常的編碼儲存。 舊腳本使用名為 TUBADBENGINE 的資料庫引擎,該引擎沒有表現出任何特殊特徵。然而,當使用舊腳本插入包含波斯字元的...
    程式設計 發佈於2024-12-23
  • 如何在 MySQL 中以整數形式計算年齡差?
    如何在 MySQL 中以整數形式計算年齡差?
    在MySQL 中將年齡差計算為整數在處理年齡計算時,確定資料庫中一個人的年齡是一個小小的挑戰。考慮包含“id”和“birth_date”列的“student”表。 要計算以天為單位的年齡,可以使用表達式 datediff(curdate(),birth_date),但這會傳回浮點數值。除以 365 ...
    程式設計 發佈於2024-12-23
  • 哪種 PHP XML 解析器最適合我的專案?
    哪種 PHP XML 解析器最適合我的專案?
    為PHP 選擇最佳XML 解析器雖然內建XML 解析器已經達到其目的,但開發人員經常尋求替代方案簡化的體驗。本文將深入探討 SimpleXML 與 XML Parser 相比的優點和缺點,並探討其他可用選項。 SimpleXML:最佳選擇? SimpleXML 成為強大的解決方案由於其擴展性質,提供...
    程式設計 發佈於2024-12-23
  • 如何動態更新和顯示從 Flask 視圖串流的資料?
    如何動態更新和顯示從 Flask 視圖串流的資料?
    顯示更新時從Flask 視圖串流的資料簡介在Flask 應用程式中,通常需要顯示即時產生或更新的資料。雖然 Flask 內建了對串流響應的支持,但將此資料合併到 HTML 模板中可能具有挑戰性。本文探討如何在資料串流傳輸到頁面時動態更新、格式化和顯示資料。 在 Flask 中串流數據要在 Flask...
    程式設計 發佈於2024-12-23
  • 插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入記錄時如何解決「一般錯誤:2006 MySQL 伺服器已消失」介紹:將資料插入MySQL 資料庫有時會導致錯誤「一般錯誤:2006 MySQL 伺服器已消失」。當與伺服器的連線遺失時會出現此錯誤,通常是由於 MySQL 配置中的兩個變數之一所致。 解決方案:解決此錯誤的關鍵是調整wait_tim...
    程式設計 發佈於2024-12-23
  • Java 編譯出現「Code Too Large」錯誤如何解決?
    Java 編譯出現「Code Too Large」錯誤如何解決?
    了解 Java 中的「程式碼太大」編譯錯誤Java 在可編譯為字節碼的程式碼大小強制實施限制。超出此限制,您可能會遇到“程式碼太大”編譯錯誤。 當方法變得過大,超過允許的最大大小時,就會出現此問題。在您的例子中,您的函數包含大量為陣列賦值的行。 克服錯誤為了解決此錯誤,Java 引入了一個特定的限制...
    程式設計 發佈於2024-12-23
  • 如何使 DIV 元素充當可點擊鏈接,同時保持 XHTML 1.1 合規性?
    如何使 DIV 元素充當可點擊鏈接,同時保持 XHTML 1.1 合規性?
    如何將DIV 製作為可點擊連結(符合XHTML)使用者經常面臨在優雅的設計元素中整合可點擊連結的困境就像DIV 塊一樣,卻不會損害內容的美觀完整性。標準 HTML 標記限制在 DIV 中直接嵌套錨標記 (A),這給創建此類連結帶來了挑戰。然而,有一個符合 XHTML 1.1 規範的解。 該技術涉及使...
    程式設計 發佈於2024-12-23
  • 如何離線安裝Python套件?
    如何離線安裝Python套件?
    Python 的離線套件安裝在Python 程式設計領域,安裝套件是一項基本任務,但是如果您需要在沒有安裝套件的機器上安裝套件怎麼辦?網路連線?本指南將為這個常見問題提供解決方案。 離線安裝最佳實踐要下載Python套件beserta及其依賴項以進行離線安裝,建議執行以下步驟: 準備: 在可存取I...
    程式設計 發佈於2024-12-23

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

Copyright© 2022 湘ICP备2022001581号-3