datepicker javascript函数无法正常工作

时间:2014-01-30 11:19:33

标签: javascript datepicker

我的javascript几乎没有问题:

JS:

<!-- Call datepicker through image button -->
<script>
function OpenDatePicker(DatePicker)
{
    if (document.createEvent) 
    {
            var id = '.' + DatePicker;
            $(id).focus();
    }
}
</script>

HTML:

<div class="row-form">
    <div class="span2" style="margin-top: 06px">Date1:</div>
    <div class="span4" style="height: 29px;">
        <input type="text" class="datepicker" style="margin-left: 40px;" />
    </div>
    <img style="margin-left: 12px; cursor: pointer" src="../../img/Date.png" onClick="OpenDatePicker(this);" />
</div>
<div class="row-form" style="margin-top: -19px;">
    <div class="span2" style="margin-top: 06px">Date2:</div>
    <div class="span4" style="height: 29px;">
        <input type="text" class="datepicker" style="margin-left: 40px;" />
    </div>
    <img style="margin-left: 12px; cursor: pointer" src="../../img/Date.png" onClick="OpenDatePicker(this);" />
</div>

问题是我在表单中多次使用日期选择。所以当我点击任何输入字段并选择日期时,它只会更改一个特定字段中的日期(例如,如果我点击'Date1'输入字段,例如日期在'Date2'输入字段中更改而不在其输入字段中更改) 。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

在关注日期选择器之前,您应该初始化 datepicker到文本框,如

$('.datepicker').datepicker();

然后它完美无缺。

JSFiddle 1


  var id = '.' + DatePicker;
  $(id).focus();

您在class事件中使用focus()名称,该名称始终引用 last 文本框。而是分配id并在小提琴中调整您的代码。

JSFiddle 2

检查这些小提琴之间的区别,以便您能够理解。