[英]button click event with get datepicker value is old on bootstrap-datepicker
I used bootstrap-datepicker component.When I change 'other', change 'day' again but I get datepicker value is old(select 'other' datepicker value) by Button click event. 我使用了bootstrap-datepicker组件。当我更改“ other”时,再次更改“ day”,但是我通过Button click事件得到datepicker值旧(选择“ other” datepicker值)。
My code: 我的代码:
$('#date').change(function (e) {
switch (this.value) {
case 'day':
$("#dpform").val(showdate(-1));
$("#dpdend").val(showdate(0));
$('#dpform').attr("disabled", "disabled");
$('#dpdend').attr("disabled", "disabled");
break;
case 'week':
$("#dpform").val(showdate(-7));
$("#dpdend").val(showdate(0));
$('#dpform').attr("disabled", "disabled");
$('#dpdend').attr("disabled", "disabled");
break;
case 'month':
$("#dpform").val(showdate(-30));
$("#dpdend").val(showdate(0));
$('#dpform').attr("disabled", "disabled");
$('#dpdend').attr("disabled", "disabled");
break;
case 'other':
$("#dpform").val(showdate(0, 'other'));
$("#dpdend").val(showdate(0, 'other'));
$('#dpform').removeAttr("disabled");
$('#dpdend').removeAttr("disabled");
break;
}
})
//showdate method // showdate方法
function showdate(n, string) {
var uom = new Date();
uom.setDate(uom.getDate() + n);
if (string == "other")
uom = uom.getFullYear() + "-" + (uom.getMonth() + 1) + "-" + uom.getDate();
else {
uom = uom.getFullYear() + "-" + (uom.getMonth() + 1) + "-" + uom.getDate() + " " + uom.getHours() + ":" + uom.getMinutes() + ":" + uom.getSeconds();
}
return uom.replace(/\b(\w)\b/g, '0$1');
}
//button click event //按钮点击事件
$('.btndataquery').click(function () {
var a = $("#dpform").val(); //a,b value is old
var b = $('#dpdend').val();
//TO DO ...
});
my html code: 我的html代码:
<select id="date" name="date" class="span2">
<option value="day" class="btn-date">Last one day</option>
<option value="week" class="btn-date">Last one week</option>
<option value="other" class="btn-minimize-other">other</option>
</select>
<input type="button" id="btnQuery" value="Query" class="btn btn-success btndataquery" name="assign" />
<div class="other-search" style="display: none;">
<div class="control-group">
<label class="control-label">
<b>time form:</b></label>
<div class="controls">
<input type="text" id="dpform" class="width100" />
<b>to</b>
<input type="text" id="dpdend" class="width100" />
</div>
</div>
</div>
on button click or some other event if you want change anythings in exciting Date-picker value then try below snipcode 单击按钮或其他事件,如果您想更改令人兴奋的Date-picker值中的任何内容,请尝试以下代码段
/* HTML part */ / * HTML部分* /
/* Jquery part */ $('#datepicker').datepicker('option', 'minDate', new Date(startDate)); / * jQuery部分* / $('#datepicker')。datepicker('option','minDate',new Date(startDate));
$('#datepicker').datepicker('option', 'maxDate', new Date(endDate)); $('#datepicker')。datepicker('option','maxDate',new Date(endDate));
$('#datepicker').datepicker('option', 'defaultDate', new Date(startDate)); $('#datepicker')。datepicker('option','defaultDate',new Date(startDate));
I'm not sure what you mean. 我不确定你是什么意思。 but if I understood you, here's a dirty trick. 但如果我了解您,这是一个肮脏的把戏。
$('.btndataquery').click(function () {
setTimeout(function(){
var a = $("#dpform").val();
var b = $('#dpdend').val();
//TO DO ...
}, 50); //Delay 100 milliseconds, so values aren't old
});
We're adding a delay so the values are not old. 我们添加了一个延迟,因此值不会太旧。
Please use this very carefully, it's dirty . 请非常小心地使用它,它很脏 。
Cheers 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.