Jquery datepicker在下一个输入中只有1天可选择和复制日期+ x天

时间:2013-10-26 12:43:22

标签: jquery jquery-ui datepicker

我试图让Jquery-UI datepicker每月只有1个可用日期,这是每个月的第1个,当选择所选日期+ X天时,应该复制到另一个文本输入字段。

此外,要添加的天数值会随着下拉列表中选择的内容而变化。

弄到目前为止我所拥有的: http://jsfiddle.net/8y4Bf/

来自小提琴的代码:

HTML

<div>
    <label>Select an Option:</label>
    <select id="select1">
        <option value="" disabled="disabled" selected="selected">Select an option</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
</div>
<br /><br />
<div>
    <label>Start Date:</label>
    <input type="text" id="startdate" />
    <br /><br />
    <label>End Date:</label>
    <input type="text" id="enddate" />
</div>

Jquery的

$('#select1').change(function() {


    $('#startdate, #enddate').val("");


    if ($('#select1').val() == '1') {


        $('#startdate').datepicker({
            showButtonPanel: true,
            closeText: 'Close',
            dateFormat: "mm/dd/yy",
            onSelect: function(selected) {
                if (this.id == 'startdate') {

                    // Parameters 1 day only & also copy result into enddate + 5 days
                }
            }
        });
    }

     else if ($('#select1').val() == '2') {


        $('#startdate').datepicker({
            showButtonPanel: true,
            closeText: 'Close',
            dateFormat: "mm/dd/yy",
            onSelect: function(selected) {
                if (this.id == 'startdate') {

                   // Parameters 1 day only & also copy result into enddate + 7 days
                }
            }

            });

     }

});

我已阅读http://jqueryui.com/datepicker/#min-max处的文档,但无法弄清楚我如何只提供每个月的第1天。

我是否必须再次获取#startdate的值,添加日期然后将其粘贴到#enddate中,或将该值保存在某处,以便我可以从那里开始?

1 个答案:

答案 0 :(得分:10)

经过测试和工作!

  • 我更改了jsfiddle

  • 的逻辑
  • 只是要知道,为了实现您的需求,datepicker必须实施beforeShowDay functionoverride { {1}},然后必须将选定的component转换为date Date类型,以便轻松添加5或7天(以正确的方式执行,例如,如果您想要选择每个月的最后一天,可以是30或31加5或7天,如果你手动完成,你将在另一个月获得36或38而不是object,还有许多其他可能性 - 但这不是你的情况,我只是在解释)。

  • 我还改进了date,看看:

    现场演示: http://jsfiddle.net/oscarj24/q27EG/2/

jQuery代码:

code