基于单选按钮选择的jQuery DatePicker更新选项
jQuery DatePicker Update Options based on Radio Button Selection
每当选择不同的单选按钮时,我都试图让jquery日期选择器进行更新。
<div style="padding-bottom: 50px;">
<label>Location: </label>
<input type="radio" name="locate" value="Internal">Internal
<input type="radio" name="locate" value="External">External
</div>
<div>
<label>Due Date: </label>
<input type="text" name="dueDate" id="dueDate" size="25" placeholder="Please Enter A Due Date" autocomplete="off" readonly="true">
</div>
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' });
}
UPDATE 1:使用destroy
销毁日期选择器,并在单选按钮选项更改时重新创建它。这是完整的代码。链接到工作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
时,它是从当前日期开始的。
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- jQuery + Boostrap DatePicker:如何让两个日期选择器输入相互更新
- Jquery Datepicker 不更新 IIS 中的文本框
- 基于单选按钮选择的jQuery DatePicker更新选项
- 使用jQuery Datepicker插件中的工作日值更新隐藏的输入元素
- Jquery-ui-datepicker只更新第一个输入
- 更新jQuery Datepicker限制日期,当一个按钮被点击
- 如何解决克隆上的Datepicker问题?更新:还没有有用的答案…