【发布时间】:2018-02-22 10:40:39
【问题描述】:
我有一段在 Shopify 网站上使用的代码。基本上有 3 种交付选项,其中之一是周六交付,如果选择了该收音机,则除周六之外的所有日子都将被禁用。
<div class="delivery-radio">
<h3>1. Choose your delivery type:</h3>
<input type="radio" name="attributes[delivery-type]" value="Standard" checked> Standard - Delivery by 6pm (£4.95)<br>
<input type="radio" name="attributes[delivery-type]" value="Pre 12" id="pre_12"> Express - Delivery by 12pm (£6.25)<br>
<input type="radio" name="attributes[delivery-type]" value="saturday" id="saturday"> Saturday - Delivery by 6pm (£6.95)
</div>
<div style="width:300px; clear:both;">
<h3>2. Pick a delivery date:</h3>
<p>
<input id="date" type="text" name="attributes[date]" value="{{ cart.attributes.date }}" required readonly="readonly" /> <span id="calendar_click" class="glyphicon glyphicon-calendar" aria-hidden="true"></span>
</p>
</div>
我需要的是一个不会破坏我当前禁用英国银行假期的代码的功能。我已经看到这可以通过添加日期并禁用它们来手动完成,但是我尝试过的一切都不起作用或破坏了我当前的代码。
这是我的代码的 sn-p,如果任何 jquery/javascript 大师可以提供帮助,将不胜感激,因为我在这方面不太先进。
jQuery(function() {
$('input[name="attributes[delivery-type]"]').on('click', function(){
$("#date").datepicker("destroy");
if($(this).val() == "saturday") {
$("#date").datepicker({
dateFormat: 'dd-mm-yy',
minDate: +1,
maxDate: '+2M',
beforeShowDay: function(date){ return [date.getDay() == 6 || date.getDay() == 6,""]}
});
} else {
$("#date").datepicker(
{
dateFormat: 'dd-mm-yy',
minDate: +1,
maxDate: '+2M',
beforeShowDay: function(date) {
var day = date.getDay();
return [(day != 0 && day != 1), ''];
}
});
}
});
$("#date").datepicker(
{
dateFormat: 'dd-mm-yy',
minDate: +1,
maxDate: '+2M',
beforeShowDay: function(date) {
var day = date.getDay();
return [(day != 0 && day != 1), ''];
}
});
});
【问题讨论】:
标签: javascript jquery datepicker jquery-ui-datepicker