基于单选按钮选择的jQuery DatePicker更新选项

我试图在选择不同的单选按钮时更新jquery日期选择器。

Internal External

jQuery可以工作,但每次单击一个新的单选按钮时它都不会更新datePicker。

 var locate = null; $("input[name='locate']").click(function() { locate = this.value; if (locate == "Internal") { $( "#dueDate" ).datepicker( { minDate: '-6M', maxDate: '+6M' }); alert("Internal"); } else { $( "#dueDate" ).datepicker( { minDate: -0, maxDate: '+6M' }); alert("External"); } }); 

您没有正确检索单选按钮的选中值。 if条件如下,请尝试更改您。

  if ($("input[name='locate']:checked").val() == 'Internal'){ $( "#dueDate" ).datepicker( { minDate: '-6M', maxDate: '+6M' }); } else { $( "#dueDate" ).datepicker( { minDate: -0, maxDate: '+6M' }); } 

更新1:使用destroy来销毁datepicker并在单选按钮的选项更改时重新创建它。 这是完整的代码。 链接到工作DEMO

  $("input[name='locate']").click(function() { locate = this.value; var dateField = $('#dueDate'); if ($("input[name='locate']:checked").val() == 'Internal'){ dateField.datepicker('destroy'); dateField.datepicker( { minDate: '-6M', maxDate: '+6M' }); } else { dateField.datepicker('destroy'); dateField.datepicker( { minDate: -0, maxDate: '+6M' }); } }); 

当你选择Internal你将能够回到6个月,当选择Extrenal时,它就是从当前日期开始。