【问题标题】:Change date time mindate and maxdate based on dropdown option根据下拉选项更改日期时间 Mindate 和 maxdate
【发布时间】:2018-01-24 07:47:43
【问题描述】:

我的下拉框中有 3 个选项 如果选择了选项 1,则最小日期应为 2013 年,最大日期为 2015 年 如果选择了选项 2,那么最小日期应该是 2009 年,最大日期应该是 2014 年 如果选择了选项 3,则最小日期为 2005 年,最大日期为 2008 年 这是我的应用程序截图

例如。如果用户选择 LKG,则最小日期为 2013 年,最大日期为 2015 年,以便用户可以在这之间选择日期。 我试过这样的代码

function chk()
{
    var sname = $('#app_for_class').find(":selected").text();
    if(sname==='LKG')
    {
         $('#date').datetimepicker({
        minDate:'2013-01-1',
        maxDate:'2015-11-30',

    });

    }


}

这里是html代码

 <select class="form-control" onclick="chk()"  style="margin-left: 5px" name="app_for_class" id="app_for_class">
            <option name="app_for_class" value="LKG">LKG</option>
            <option name="app_for_class" value="UKG">UKG</option>
            <option name="app_for_class" value="1st">1st Standard</option>


 </select>

<input class="form-control" type="date" required="true"  id="date" name="date" style="margin-left: 20px;width: 210px">

【问题讨论】:

  • 我认为您的表单中有拼写错误。应该是“孩子的名字”而不是“孩子的名字”
  • 控制台出现什么错误?
  • Uncaught TypeError: $(...).datetimepicker is not a function at chk (Dashboard:451) at HTMLSelectElement.onclick (Dashboard:85)
  • 尝试使用moment.js 库,正如this 答案中指出的那样。
  • 尝试使用 datepicker() 代替

标签: javascript jquery html datetimepicker


【解决方案1】:

我稍微修改了你的 jQuery 函数-

function chk(){
    var sname = $('#app_for_class').find(":selected").text();
    if(sname=='LKG'){
        $('#date').datetimepicker({
            minDate: new Date(2013, 1 - 1, 1),
            maxDate: new Date(2015, 11 - 1, 30)
        });
    }
}

接下来您应该捕获下拉列表的onChange() 事件并调用chk() 函数-

$("#app_for_class").change(function() {
    chk();
});

并且您的 HTML 不应包含 onClick-

<select class="form-control" style="margin-left: 5px" name="app_for_class" id="app_for_class">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 2013-04-22
    • 2017-11-17
    • 1970-01-01
    • 2018-03-29
    • 2015-04-02
    • 1970-01-01
    相关资源
    最近更新 更多