为什么我不能使用jQuery中的更改来更新datepicker上的设置?

时间:2010-03-09 11:38:02

标签: jquery events datepicker

当用户在组中选择不同的单选按钮时,我正在尝试为datepicker(http://keith-wood.name/datepick.html)创建两组不同的设置。

这是我的代码:

$("input[name='shipping_time_english']").change(function(){
   datepicker();                                                     
});

function datepicker() {
  if ($("input[name='shipping_time_english']:checked").val() == '1-3 work days') {
    alert('1-3 days selected');
    var firstDay = '+1';
    var lastDay = '+3';
  } else if ($("input[name='shipping_time_english']:checked").val() == '4-8 work days') {
    alert('4-8 days selected');
    var firstDay = '+4';
    var lastDay = '+8';
  }

  $("#rush_needed_by_english").datepick({
    minDate: firstDay,
    maxDate: lastDay
  }); 
} //end datepicker function

我知道更改事件正在运行,因为每次更改radiobuttons的值时警报都会发出警报。出于某种原因,datepicker上的设置是我选择的radiobuttons上的第一个值。只要我再次更改radiobutton值,就可以按照我的意愿更改日期选择中的设置。

为什么我不能使用jQuery中的更改来更新datepicker上的设置?

2 个答案:

答案 0 :(得分:2)

更改此

$("#rush_needed_by_english").datepick({
    minDate: firstDay,
    maxDate: lastDay
});

$("#rush_needed_by_english").datepick('option', {
    minDate: firstDay,
    maxDate: lastDay
});

你刚接到电话错误。在此处jQuery Datepicker Reference重新检查插件的文档,然后滚动到函数文档。这是那里的第二个签名。

答案 1 :(得分:1)

我认为您需要以不同方式调用日期选择器插件:

$("#rush_needed_by_english").datepick('options', {
  minDate: firstDay,
  maxDate: lastDay
});