我在jsp页面中有一个带日期选择器(jQuery)的字段。
示例(DatePicker)
http://jqueryui.com/demos/datepicker/#icon-trigger
页面还具有“清除”按钮功能,可清除页面上的所有文本字段以及插入这些字段的文本,包括从datepicker中选择的日期。
清除按钮代码
<input type="button" name="buttonclear" id="buttonclear" class="buttonstyle_mid" value="Clear"
onclick="javascript:clearData();" />
javascript clearData()代码(日期字段)
document.getElementById("DateId").value = "";
日期字段代码
<form:input id="DateId" path="date" class="dateInput" size="11" maxlength="10" readonly="true" />
jQuery DatePicker代码
<script type="text/javascript">
jQuery(function($) {
$('.dateInput').datePicker();
});
$('#DateId').datePicker({
startDate : '01/01/1970',
endDate : (new Date()).asString()
});
$('#DateId').bind('dpClosed', function(e, selectedDates) {
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#DateId1').dpSetStartDate(d.addDays(1).asString());
}
});
$('#DateId1').bind('dpClosed', function(e, selectedDates) {
var d = selectedDates[0];
if (d) {
d = new Date(d);
$('#DateId').dpSetEndDate(d.addDays(-1).asString());
}
});
</script>
我的代码有一个主要缺点。如果我从日期选择器中选择 2011年8月1日,然后单击“清除”按钮。日期字段被清除但我不能再次选择相同的日期(即 2011年8月1日)。
清除按钮仅清除字段中的值,但它不会清除基础DatePicker中的日期
我在这个问题上搜索了很多内容,但在这个问题上找不到合适的解决方案。真的很感激任何帮助。
由于
答案 0 :(得分:3)
我认为您需要在clearData()
函数中添加以下内容:
$('.dateInput').datepicker( "setDate" , null );
这会取消选择日期选择器中的值。通过简单地清除您现在正在执行的文本字段值,日期选择器不会更新,因此它与文本字段值不同步。
答案 1 :(得分:0)
这个对我有用: $( 'dateInput。')日期选择器()dpSetSelected(NULL,TRUE,FALSE);