Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在上的jquery中确认为false后未刷新输入框_Jquery_Asp.net Mvc Partialview - Fatal编程技术网

在上的jquery中确认为false后未刷新输入框

在上的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

我有一个jQueryDatePicker,它通过部分视图在ajax请求中动态添加。 选择日期后,我必须进行js检查,因此我提出了以下建议-

$(文档).ready(函数(){

$(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;
            }
        }