为什么datepicker附加了每个输入字段

时间:2015-09-06 15:14:08

标签: jquery datepicker

我有一个网页,我想将datepicker附加到id schedule的所有输入字段,但它会将datepicker附加到页面的所有输入字段。

[注意:由于我的问题已经解决,我已删除了我的网址以解决安全问题。谢谢你们所有人]

datepicker的功能是:

$('#schedule  input').datepicker({
        dateFormat: 'dd/mm/yy',
        onClose: function ()
        {
            var date2 = $(this).datepicker('getDate');
            //alert(date2);
            var targetInputs = null;
            var eventFromAll = false;

            if($(this).attr("id") == "all")
            {
                targetInputs = $('input');
                eventFromAll = true;
            }
            else
                targetInputs = $(this).closest("tr").find('input');

            $(targetInputs).not(this).each(function (i, op)
            {
                var c = $(this).attr('c');
                var d = parseInt($(this).attr('d'), 10);

                if (c == 'y') {
                    date2.setFullYear(date2.getFullYear() + d);
                }
                if (c == 'd') {
                    date2.setDate(date2.getDate() + d);
                }
                if (c == 'm') {
                    date2.setMonth(date2.getMonth() + d);
                }

                   $(this).datepicker('setDate', date2);
            });
        }
    });

我想要的是,#schedule表在页面加载时动态生成,我想将datepicker仅附加到#schedule表内的输入字段。例如,如果您从1st Dose列中选择日期,则会更改2nd/3rd/4th列中的日期。但是你可以看到,对于页面的每个输入字段,例如Search:输入字段或甚至button input字段,都会附加日期选择器。因此,当我单击并关闭Search输入框上的日期选择器时,datepicker会更改button输入的文本。

我不知道为什么会这样。如何将datepicker的附件限制为仅#schedule表下的输入字段?

1 个答案:

答案 0 :(得分:1)

http://infomamun.swapnoit.com/schedule.php?ckattempt=1中的第230行读取:

$('input').datepicker({..

这是在页面加载时执行的,因此将一个日期选择器附加到页面上的每个输入元素。