使用类调用jQuery UI日期选择器不起作用

时间:2011-09-26 07:22:03

标签: jquery jquery-ui class datepicker

我正在使用jQuery UI datepicker - 范围版本。我有一个表单,在“从日期”的输入字段(文本)中我调用了datepicker。它工作正常。

问题是我在该字段中还有一个图像(日历),我将它的类设置为与字段相同的图像。但是,虽然该字段打开日期选择器没有问题,单击图像似乎什么都不做。 我知道有关于这个问题的一些问题,但没有任何帮助;)

<input type="text" id="fromDate" value="Enter date" name="fromDate" class="fromDatePicker"/>
<img class="fromDatePicker" src="images/calender_icon_a1.jpg" id="ci1"/>

js代码:

$(function() {
$( ".fromDatePicker" ).datepicker({
    defaultDate: "+1w",
    dateFormat: 'dd/mm/yy',
    altFormat: 'yymmdd',
    altField: "#fromDateFormatted",
    numberOfMonths: 2,
    onSelect: function( selectedDate ) {
        $('#toDate').datepicker( "option", "minDate", selectedDate );
    }
});

1 个答案:

答案 0 :(得分:1)

显然,您无法将日期选择器绑定到图像。如果我们查看datepicker source, we see this

if (nodeName == 'input') {
    this._connectDatepicker(target, inst);
} else if (inline) {
    this._inlineDatepicker(target, inst);
}
当且仅当inlinenodeNamediv时,

span为真。因此,当您尝试将日期选择器绑定到<img>时,您将被忽略,而不会在控制台中发出警告。

如果您查看jQuery-UI demos page上的图标触发器示例,您将看到使用图标激活日期选择器的批准方式:

$('.fromDatePicker').datepicker({
    // existing options
    showOn: "both",
    buttonImage: "images/calendar_icon_a1.jpg", 
    buttonImageOnly: true
});

然后完全删除您的img.fromDatePicker元素。