在设置值之前触发的Jquery更改事件

时间:2013-02-20 17:37:07

标签: jquery events onchange

我有两个日期输入,用户设置开始日期和结束日期。之后我得到了一个标签,我加载了用户选择的两个日期之间的天数。

两个日期输入有一个相同的类:“fecha”,我处理数据输入和这样的操作天数:

$('.fecha').live("change", function(){

    var fecha1 = $('#E2Del').val();
    var fecha2 = $('#E2Al').val();

    var ini_split = fecha1.split('-');
    var ini_full = ini_split[0]+ini_split[1]+ini_split[2];

    var fin_split = fecha2.split('-');
    var fin_full = fin_split[0]+fin_split[1]+fin_split[2];

    var test = fin_full - ini_full;        
    console.log(test);
  });

每件事情都很好,问题是当我点击日期输入时会触发此事件,而不是在我更改每个输入上的选定日期之后。因此,为了使其工作,我需要在设置值后点击两个输入中的任何一个。

关于如何在输入日期之后触发此事件的任何想法,而不是在我点击元素时触发?

提前致谢

1 个答案:

答案 0 :(得分:1)

您看到旧值的原因是当change事件触发时,原始后果(即更改值)尚未发生 - 实际上您可以使用{{1 }}

您需要做的是检查事件本身:

e.preventDefault()

...将返回正在分配的值。