0

我正在尝试连接jQuery UI's datepicker选择列表。

我在 jQuery 的论坛( forum.jquery.com/topic/jquery-ui-datepicker-with-select-lists)上找到了一种解释,但我无法让它工作。

声明了输入和选择列表:

<select id="selectMonth"><option value="01">Jan</option><option value="02">Feb</option>
          <option value="03">Mar</option><option value="04">Apr</option>...</select>

<select id="selectDay"><option value="01">1</option><option value="02">2</option>
          <option value="03">3</option><option value="04">4</option>...</select>

<select id="selectYear"><option value="2012">2012</option><option value="2013">2013</option>
          <option value="2014">2014</option>...</select>

<p>Date: <input type="text" id="selectedDatepicker" /></p>

这是脚本:

$(function() {
        $('#selectedDatepicker').datepicker({
    beforeShow: readSelected, onSelect: updateSelected,
    minDate: new Date(2012, 1 - 1, 1), maxDate: new Date(2014, 12 - 1, 31),
    showOn: 'both', buttonImageOnly: true, buttonImage: 'img/calendar.gif'});

// Prepare to show a date picker linked to three select controls
function readSelected() {
    $('#selectedDatepicker').val($('#selectMonth').val() + '/' +
        $('#selectDay').val() + '/' + $('#selectYear').val());
    return {};
}

// Update three select controls to match a date picker selection
function updateSelected(date) {
    $('#selectMonth').val(date.substring(0, 2));
    $('#selectDay').val(date.substring(3, 5));
    $('#selectYear').val(date.substring(6, 10));
}
    });

这是小提琴:http: //jsfiddle.net/xKXZm/

它们没有正确连接,唯一的“连接行为”是当您单击输入按钮时,它会获取选择列表的值。另一方面,选择列表永远不会获取输入的值,输入也不会获取选择列表的值,直到您单击它。

4

1 回答 1

2

对于日期选择器输入以反映选择中的更改,您可以将选择的更改事件绑定到readSelected

检查这个演示:http: //jsfiddle.net/xKXZm/5/

请注意,您在日期选择框中仅列出了 4 天。因此 datePicker 中超过 4 的日期选择不会显示在选择框中。

于 2012-10-27T10:56:15.903 回答