【问题标题】:Build a month/day dropdown selector, not a plugin构建月/日下拉选择器,而不是插件
【发布时间】:2018-08-30 01:38:54
【问题描述】:

我有一个表格,我希望用户输入他们的出生月份和出生日期。但是,我找不到使用 jquery 构建月份和日期下拉选择器的方法。我读到的一切都是关于插件的,但我不能使用插件。下面是基本的 html 结构,“day”选择字段根据用户选择的月份动态填充。

  <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 天)。

【问题讨论】:

  • 您可以使用这个method 来获取一个月中的天数,而不是硬编码到您的代码中。

标签: javascript jquery forms datepicker


【解决方案1】:
  1. 要声明一个js函数,你可以试试const selectMonth = month =&gt; {}而不是var selectMonth(month){}
  2. 通过查看您的 js 函数,选项值应该是数字而不是月份的名称。
  3. 要清除下拉列表中的所有选项,您可以尝试dateSelect.innerHTML = "" 而不是dateSelect.options.length = 0dateSelect.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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 2013-06-20
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    相关资源
    最近更新 更多