Jquery 日期选择器 - If else 条件
Jquery Datepicker - If else condition
如果输入的字母是 'A' 则显示 select 今天日期的选项 & 如果输入有 'B' 那么它不应该显示 select 今天的选项日期。
基本上我需要一个 if-else 条件来将 minDate: 0 更改为 minDate: 1,
这里是linkenter link description here
var text = $('.zip-input').val();
if(text.toLowerCase().match(/^a|^A/)){
$("#TstDiv").html("London").css('color','green').fadeIn(100);
$('#datepicker').datepicker({
minDate: 0,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
});
}else{
$("#TstDiv").html("uk").css('color','green').fadeIn(100);
$('#datepicker').datepicker({
minDate: 2,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
});
}
});
- 您必须在更新之前销毁现有的日期选择器
选项:
$("#datepicker").datepicker("destroy");
- 在
else
语句中将 minDate 从 2
更改为 1
- 您还可以通过仅在输入的第一个字母发生变化时更新日期选择器并使用三级运算符设置动态值来进一步简化它。
工作示例:
var isLondon;
$(".zip-input").on("input", function() {
var text = $(".zip-input").val();
var firstLetter = text[0].toLowerCase();
var currentIsLondon = (firstLetter === "a");
if (isLondon !== currentIsLondon) {
isLondon = currentIsLondon;
$("#TstDiv").html(isLondon ? "London" : "uk").css('color','green').fadeIn(100);
$("#datepicker").datepicker("destroy");
$("#datepicker").datepicker({
minDate: isLondon ? 0 : 1,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0, ""];
}
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<span id="TstDiv"></span>
<input type="text" id="autocomplete" maxlength="8" class="zip-input" placeholder="Enter pincode" />
<input id="datepicker" placeholder="Select Delivery Date dd/mm/yyyy">
如果输入的字母是 'A' 则显示 select 今天日期的选项 & 如果输入有 'B' 那么它不应该显示 select 今天的选项日期。
基本上我需要一个 if-else 条件来将 minDate: 0 更改为 minDate: 1,
这里是linkenter link description here
var text = $('.zip-input').val();
if(text.toLowerCase().match(/^a|^A/)){
$("#TstDiv").html("London").css('color','green').fadeIn(100);
$('#datepicker').datepicker({
minDate: 0,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
});
}else{
$("#TstDiv").html("uk").css('color','green').fadeIn(100);
$('#datepicker').datepicker({
minDate: 2,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0,''];
}
});
}
});
- 您必须在更新之前销毁现有的日期选择器
选项:
$("#datepicker").datepicker("destroy");
- 在
else
语句中将 minDate 从2
更改为1
- 您还可以通过仅在输入的第一个字母发生变化时更新日期选择器并使用三级运算符设置动态值来进一步简化它。
工作示例:
var isLondon;
$(".zip-input").on("input", function() {
var text = $(".zip-input").val();
var firstLetter = text[0].toLowerCase();
var currentIsLondon = (firstLetter === "a");
if (isLondon !== currentIsLondon) {
isLondon = currentIsLondon;
$("#TstDiv").html(isLondon ? "London" : "uk").css('color','green').fadeIn(100);
$("#datepicker").datepicker("destroy");
$("#datepicker").datepicker({
minDate: isLondon ? 0 : 1,
constrainInput: true,
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0, ""];
}
});
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<span id="TstDiv"></span>
<input type="text" id="autocomplete" maxlength="8" class="zip-input" placeholder="Enter pincode" />
<input id="datepicker" placeholder="Select Delivery Date dd/mm/yyyy">