在上的jquery中确认为false后未刷新输入框
我有一个jQueryDatePicker,它通过部分视图在ajax请求中动态添加。 选择日期后,我必须进行js检查,因此我提出了以下建议- $(文档).ready(函数(){在上的jquery中确认为false后未刷新输入框,jquery,asp.net-mvc-partialview,Jquery,Asp.net Mvc Partialview,我有一个jQueryDatePicker,它通过部分视图在ajax请求中动态添加。 选择日期后,我必须进行js检查,因此我提出了以下建议- $(文档).ready(函数(){ $(document).on('change','input[name=“ReportDate”]”,函数(){ if($(this).attr('data-isdcmcmanderady')=='True'){ var d=新日期(); var currentDate=(d.getMonth()+1)+“/”++d.g
$(document).on('change','input[name=“ReportDate”]”,函数(){
if($(this).attr('data-isdcmcmanderady')=='True'){
var d=新日期();
var currentDate=(d.getMonth()+1)+“/”++d.getDate()+“/”+d.getFullYear();
var dateSelected=$(this.val();
如果(新日期(已选择日期)>新日期(当前日期)){
var answer=确认(“合同已经报告,您确定要继续吗?”);
若有(答复){
返回true;
}否则{
//这是正确的重置值
$(this.val($(this.attr('data-originalReportDateVal'));//$(this.val()提供旧的和正确的值。
返回false;
}
}
}
返回false;
});
});
当您在确认框中选择取消时,日期选择器值不会恢复为html中的旧值,也不会刷新
if(新日期(已选择日期)>新日期(当前日期)){
var answer=确认(“合同已经报告,您确定要继续吗?”);
若有(答复){
返回true;
}否则{
$(this.val($(this.attr('data-originalReportDateVal'));
$(此).datepicker(“刷新”);//使用解决方案
var id=$(this.attr('id')
$('#'+id).val($(this.attr('data-originalReportDateVal'))
我不知道为什么它不能直接与
$(this.val($(this.attr('data-originalReportDateVal'))
试试$(this.val($(this.data('originalReportDateVal'));
如果它不起作用,请显示你的HTMLsorry它不起作用!!它与jquery'on'方法有关,因为当我将它更改为$([input[name='ReportDate'])。更改(函数(){所有逻辑}它可以工作,但是这个选项的问题是它只触发一次。change
方法只是on('change')
方法的别名…所以不,这不会只触发一次,因为它使用了一种变通方法。我已经发布了我的答案。
$(document).on('change', 'input[name="ReportDate"]', function () {
if ($(this).attr('data-isDccmAndReady') == 'True') {
var d = new Date();
var currentDate = (d.getMonth() + 1) + "/" + +d.getDate() + "/" + d.getFullYear();
var dateSelected = $(this).val();
if (new Date(dateSelected) > new Date(currentDate)) {
var answer = confirm("The contract has been already reported, are you sure you wish to continue?");
if (answer) {
return true;
} else {
//this is correctly resetting the value
$(this).val($(this).attr('data-originalReportDateVal'));//$(this).val() gives the old and the correct value.
return false;
}
}
}
return false;
});
});
</script>
if (new Date(dateSelected) > new Date(currentDate)) {
var answer = confirm("The contract has been already reported, are you sure you wish to continue?");
if (answer) {
return true;
} else {
$(this).val($(this).attr('data-originalReportDateVal'));
$(this).datepicker( "refresh" ); // <-- Try this (or with the right datepicker selector)
return false;
}
}