簡體   English   中英

構建月/日下拉選擇器,而不是插件

[英]Build a month/day dropdown selector, not a plugin

我有一個表格,我希望用戶輸入他們的出生月份和出生日期。 但是,我找不到使用jquery構建月份和日期下拉選擇器的方法。 我閱讀的所有內容都是關於插件的,但是我不能使用插件。 以下是基本的html結構,其中會根據用戶選擇的月份動態填充“天”選擇字段。

  <select id="month" onchange="selectMonth(this.options[this.selectedIndex].value)" name="month">
       <option value=""></option>
       <option value="January">January</option>
       <option value="February">February</option>
       <option value="March">March</option>
       <option value="April">April</option>
       <option value="May">May</option>
       <option value="June">June</option>
       <option value="July">July</option>
       <option value="August">August</option>
       <option value="September">September</option>
       <option value="October">October</option>
       <option value="November">November</option>
       <option value="December">December</option>
     </select>

<select id="day"></select>

我創建了這個小提琴,以使您了解我正在嘗試做的事情。 不幸的是,這種小提琴無法正常工作(這是我找到的唯一可以構建它的教程,並且無效。) https://jsfiddle.net/katherinekonn/hLc8r915/28/

有人可以解釋一下我將如何創建它嗎? 重要的是,根據用戶選擇的月份,將顯示正確的天數(例如,如果用戶選擇2月,則將顯示29天)。

  1. 要聲明js函數,您可以嘗試使用const selectMonth = month => {}而不是var selectMonth(month){}
  2. 通過查看您的js函數,選項值應該是數字而不是月份的名稱。
  3. 要清除下拉列表中的所有選項,可以嘗試使用dateSelect.innerHTML = ""代替dateSelect.options.length = 0 ,該dateSelect.options.length是只讀的。
  4. 要在下拉列表中附加選項,您可以嘗試使用dateSelect.appendChild(new Option(dayNum, dayNum))代替dateSelect.options[dateSelect.options.legnth] = new Option(date[month - 1][i], i)

您可以看一下我的解決方案: https : //jsfiddle.net/ymkasf6c/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM