Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Javascript:比较if中的两个日期_Javascript - Fatal编程技术网

Javascript:比较if中的两个日期

Javascript:比较if中的两个日期,javascript,Javascript,功能卡应返回某场音乐会的卡。 但前提是音乐会的日期与datepicker函数选择的日期匹配。因此,如果我选择2018年6月22日,我应该看到音乐会卡片,因为日期是相同的。但现在它不起作用,因为: if(document.getElementById("datepicker").value == this.date) 在顶部拾取输入值,该值未定义,因此不显示任何内容。所以我想我必须首先调用函数datepicker(),但我不知道怎么做 以下是我使用的代码: <input type="tex

功能卡应返回某场音乐会的卡。 但前提是音乐会的日期与datepicker函数选择的日期匹配。因此,如果我选择2018年6月22日,我应该看到音乐会卡片,因为日期是相同的。但现在它不起作用,因为:

if(document.getElementById("datepicker").value == this.date)
在顶部拾取输入值,该值未定义,因此不显示任何内容。所以我想我必须首先调用函数datepicker(),但我不知道怎么做

以下是我使用的代码:

<input type="text" id="datepicker"/></div>
<div id="corpo1"></div>


$(function() 
{
   $("#datepicker").datepicker({
      showOn: "button",
      buttonText: "Select date",
      buttonImage: "https://i.imgur.com/cvkNy5G.png"
   });
});


function Concert(id, name, date, price)
{
   this.id = id;
   this.name = name;
   this.date = date;
   this.price = price;

   this.card = function()
    {
       if(document.getElementById("datepicker").value == this.date)
       return "<span class='concert'>"+this.name+" "+this.date+"</span>";

    }
}

var concerti = [ new Concert(1,"The Fame Ball","06/22/2018",50) ];

function showcard(f)
{
        var ris = "";
        for(var i in concerti) 
        {
            ris+=concerti[i].card();
        }
        document.getElementById('corpo1').innerHTML=ris;
}

$(函数()
{
$(“#日期选择器”)。日期选择器({
展示:“按钮”,
按钮文字:“选择日期”,
按钮尺寸:“https://i.imgur.com/cvkNy5G.png"
});
});
功能音乐会(id、名称、日期、价格)
{
this.id=id;
this.name=名称;
this.date=日期;
这个价格=价格;
this.card=函数()
{
if(document.getElementById(“datepicker”).value==this.date)
返回“+this.name+”+this.date+”;
}
}
var concerti=[新音乐会(1,“成名舞会”,“2018年6月22日”,50)];
功能展示卡(f)
{
var ris=“”;
for(协奏曲中的第一变奏曲)
{
ris+=协奏曲[i].card();
}
document.getElementById('corpo1')。innerHTML=ris;
}

有谁能帮忙吗?

我想你的问题是你的
showcard
代码没有运行,至少没有在正确的时间运行。将以下内容添加到Javascript中应该可以解决这个问题

$("#datepicker").change(showcard);

当用户选择新日期时,当文本框的文本更改时,它将导致showcard功能运行。如果您没有选择音乐会的日期,您可能会遇到显示“undefined”(未定义)的问题,因为如果日期不匹配,showcard函数将不返回任何内容(变为“undefined”)。您可以通过添加
return''来修复此问题到函数末尾,强制它返回空字符串,但没有显示任何内容。

我认为您的问题是,
showcard
代码没有运行,至少没有在正确的时间运行。将以下内容添加到Javascript中应该可以解决这个问题

$("#datepicker").change(showcard);
当用户选择新日期时,当文本框的文本更改时,它将导致showcard功能运行。如果您没有选择音乐会的日期,您可能会遇到显示“undefined”(未定义)的问题,因为如果日期不匹配,showcard函数将不返回任何内容(变为“undefined”)。您可以通过添加
return''来修复此问题添加到函数末尾,强制它返回空字符串,但不显示任何内容。

尝试以下解决方案: 关键变化如下:

$("#datepicker").datepicker({
  showOn: "button",
  buttonText: "Select date",
  buttonImage: "https://i.imgur.com/cvkNy5G.png",
  onSelect: showcard
});
jqueryui建议使用
onSelect
事件。文件

允许您在选择日期选择器时定义自己的事件。 函数将所选日期作为文本和日期选择器接收 实例作为参数。这是指关联的输入字段

尝试以下解决方案: 关键变化如下:

$("#datepicker").datepicker({
  showOn: "button",
  buttonText: "Select date",
  buttonImage: "https://i.imgur.com/cvkNy5G.png",
  onSelect: showcard
});
jqueryui建议使用
onSelect
事件。文件

允许您在选择日期选择器时定义自己的事件。 函数将所选日期作为文本和日期选择器接收 实例作为参数。这是指关联的输入字段


因此,我最初的想法是,这可能是一个格式化问题,即
datepicker
插件将日期格式化为与硬编码日期格式不同的格式?无论如何,如果希望进行可靠的日期比较,请使用实际日期实例(数字)而不是字符串…
。value
是字符串。请尝试添加此console.log(document.getElementById(“datepicker”).value);console.log(这个日期);因此,我最初的想法是,这可能是一个格式化问题,即
datepicker
插件将日期格式化为与硬编码日期格式不同的格式?无论如何,如果希望进行可靠的日期比较,请使用实际日期实例(数字)而不是字符串…
。value
是字符串。请尝试添加此console.log(document.getElementById(“datepicker”).value);console.log(这个日期);萨克斯!!:)现在可以了。令人惊讶的是,仅仅一句话就能改变一切。塔克斯阿加因塔克斯!!:)现在可以了。令人惊讶的是,仅仅一句话就能改变一切。塔克斯又来了