我使用了bootstrap-datepicker组件。当我更改其他人时,请更改' day'再次,但我得到datepicker值旧(按钮点击事件选择'其他' datepicker值)。
我的代码:
$('#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方法
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');
}
//按钮点击事件
$('.btndataquery').click(function () {
var a = $("#dpform").val(); //a,b value is old
var b = $('#dpdend').val();
//TO DO ...
});
我的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>
答案 0 :(得分:1)
按钮点击或其他一些事件,如果你想改变令人兴奋的日期选择器值的任何事情,那么尝试下面的snipcode
/ * HTML部分* /
/ * Jquery部分* / $(&#39; #datepicker&#39;)。datepicker(&#39;选项&#39;,&#39; minDate&#39;,新日期(startDate));
$(&#39; #datepicker&#39;)。datepicker(&#39;选项&#39;,&#39; maxDate&#39;,新日期(endDate));
$(&#39; #datepicker&#39;)。datepicker(&#39;选项&#39;,&#39; defaultDate&#39;,新日期(startDate));
答案 1 :(得分:0)
我不确定你的意思。但如果我理解你,这里有一个脏技巧。
$('.btndataquery').click(function () {
setTimeout(function(){
var a = $("#dpform").val();
var b = $('#dpdend').val();
//TO DO ...
}, 50); //Delay 100 milliseconds, so values aren't old
});
我们正在添加延迟,因此值不老。
请谨慎使用,脏。
干杯