Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在启动日期选择器问题_Javascript_Datepicker - Fatal编程技术网

Javascript 正在启动日期选择器问题

Javascript 正在启动日期选择器问题,javascript,datepicker,Javascript,Datepicker,这是我的js代码: function myfunction(custom){ minDate = ''; maxDate = ''; initDatePicker('#startDate\\['+custom+'\\]', minDate, maxDate); initDatePicker('#endDate\\['+custom+'\\]', minDate, maxDate); } function initDatePicker

这是我的js代码:

function myfunction(custom){
        minDate = '';
        maxDate = '';
        initDatePicker('#startDate\\['+custom+'\\]', minDate, maxDate);
        initDatePicker('#endDate\\['+custom+'\\]', minDate, maxDate);
}
function initDatePicker(cls, minDate, maxDate, beforeshowday) {
    beforeshowday = beforeshowday == "1" ? beforeshowday : "0";
    $(cls).datepicker({
        beforeShowDay: function(dt) {
            if (beforeshowday == 0) {
                return [dt.getDay() == 1 || dt.getDay() == 2 || dt.getDay() == 3 || dt.getDay() == 4 || dt.getDay() == 5, ""];
            }
            else {
                return [dt.getDay() == 0 || dt.getDay() == 6, ""];
            }
        },
        firstDay: 1,
        minDate: minDate,
        maxDate: maxDate,
        dateFormat: "yy-mm-dd",
        date: $(cls).val(),
        current: $(cls).val(),
        starts: 1,
        onBeforeShow: function() {
            $(cls).DatePickerSetDate($(cls).val(), true);
        },
        onChange: function(formated) {
            $(cls).val(formated);
            $(cls).DatePickerHide();
        }

    })
            .attr("readonly", "readonly");

}

当我调用myfunction函数时,它不会启动日期选择器。我做错了什么?这是因为ID的类型吗?提前thx

如果您有文本框的ID,则将该ID作为元素的第一个参数传递。像下面的代码

initDatePicker('#startDate', minDate, maxDate);
正如您在评论中所说(#startDate[1]和#endDate[1]…),您不能在一个页面中使用多个ID。如果页面中有多个日期选择器,请使用:eq函数。见下面的例子

initDatePicker('[name="startDate"]:eq('+ custom +')', minDate, maxDate);
initDatePicker('[name="endDate"]:eq('+ custom +')', minDate, maxDate);

谢谢

控制台中是否显示任何内容?你会拉小提琴吗?你怎么调用这个函数?您是在加载DOM并且元素存在之后才这样做的吗?您的控制台中是否收到任何错误消息?控制台中没有任何错误消息console@FrankerZ加载dom后,我创建了元素
console.log(cls)
,并确保您可以在本地控制台中访问这些元素。我有startDate[0]、startDate[1]、startDate[2]。。。。eq功能对我不起作用:(你试过文本框的名称吗?并从文本框中删除ID当我点击输入时,小提琴没有显示任何日期选择器,因此我认为你的浏览器版本有问题..请检查其他系统或浏览器..这里我检查了3个系统,每个系统都工作得很好让我们来看看。