【问题标题】:JavaScript compare current value with new valueJavaScript 比较当前值和新值
【发布时间】:2018-05-11 16:21:38
【问题描述】:

我有一个日期选择器,具体来说是 Kendo,该值只是一个文本字符串值。

我有一个 on change 事件触发,我想将当前值与新选择的值进行比较,然后从那里运行一些额外的代码。很简单,但由于某种原因我无法弄清楚。

我可以比较文档加载时的初始值,但在更改时我需要知道每次更改时的初始值,以比较所选值和当前值。

每次更改时控制台中返回的“currentDateVal”值是页面加载时的初始值。但是,如果有人一遍又一遍地选择日期,则“currentDateVal”与初始页面加载保持不变,而不是每次在新选择中选择的。

这是我的代码:

$(document).ready(function () {
    var currentDateVal = $("#datepicker").val();
    console.log("initial date: " + currentDateVal);
    //Fill in initial Event Names
    $("#datepicker").on("change", function () {
        var selectedDateVal = $("#datepicker").val();
        //selectedDateVal = currentDateVal;
        console.log("on change current date val: " + currentDateVal);
        console.log("selected date val: " + selectedDateVal);
        if (currentDateVal !== selectedDateVal) {
            console.log("date changed");
        } else {
            console.log("date stayed the same");
        }
 });
});

【问题讨论】:

  • 实际问题是什么?这些控制台日志的输出是什么?
  • 人们通常不会因为回答问题所需的技能水平而被否决,而是因为问题本身缺乏质量而被否决。
  • @AlexDovzhanyn 每次更改时返回的“currentDateVal”值是页面加载时的初始值。但是,如果有人一遍又一遍地选择日期,则“currentDateVal”与初始页面加载保持不变,而不是每次在新选择中选择的。我也会尝试获得一个 JSFiddle 或其他东西。但这应该很简单,非常类似于选项列表选择。
  • 使用该详细信息编辑问题。这与问题非常相关。

标签: javascript jquery comparison


【解决方案1】:

你永远不会重置currentDateVal

$(document).ready(function () {
    var currentDateVal = $("#datepicker").val();
    console.log("initial date: " + currentDateVal);
    //Fill in initial Event Names
    $("#datepicker").on("change", function () {
        var selectedDateVal = $("#datepicker").val();
        //selectedDateVal = currentDateVal;
        console.log("on change current date val: " + currentDateVal);
        console.log("selected date val: " + selectedDateVal);
        if (currentDateVal !== selectedDateVal) {
            console.log("date changed");
        } else {
            console.log("date stayed the same");
        }

        currentDateVal = selectedDateVal;
 });

【讨论】:

  • 就是这样!我在注释掉的代码中把它倒过来了。我走在正确的轨道上。谢谢。
  • 确保你在之后你需要执行任何类型的比较工作。显然,事先这样做总是会导致平等。
猜你喜欢
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多