如果。。。Javascript

如果。。。Javascript,javascript,html,Javascript,Html,我正在编写一小段代码,查看一个值是否等于“12月25日-1月9日”,以及它是否确实将年份(我附加到它后面)增加1 然而,我不知道如何找到这个值。每次运行脚本时,当选择该值时,它都会跳到脚本的else部分。 感谢您的指导 if ($('#date').val === 'December 25 - January 9') { var startDates = $('#date').val().split(" - ");

我正在编写一小段代码,查看一个值是否等于“12月25日-1月9日”,以及它是否确实将年份(我附加到它后面)增加1

然而,我不知道如何找到这个值。每次运行脚本时,当选择该值时,它都会跳到脚本的else部分。 感谢您的指导

if ($('#date').val === 'December 25 - January 9') {
                    var startDates = $('#date').val().split(" - ");
                    var year = $('year').val;
                    var yearDec = parseInt(year, 10) + 1;
                    var payPdStart = startDates[0] + ' ' + year;
                    var payPdEnd = startDates[1] + ' ' + yearDec;
                    var startDate = Date.parse(payPdStart);
                    myStartDates = new Date(startDate);
                    var endDate = Date.parse(payPdEnd);
                    myEndDates = new Date(endDate)
                    while (myStartDates <= myEndDates) {
                        var firstCol = "<td style='border:none;'>" + myStartDates + "</td>";
                        $('#timeTable').append("<tr>" + firstCol + "</td>");

                        var newDate = myStartDates.setDate(myStartDates.getDate() + 1);
                        start = new Date(newDate);
                    }
                }
                else{
                    var startDates = $('#date').val().split(" - ");
                    var year = $('#year').val() ;
                    var payPdStart = startDates[0] + ' ' + year;
                    var payPdEnd = startDates[1] + ' ' + year;
                    var startDate = Date.parse(payPdStart);
                    myStartDates = new Date(startDate);
                    var endDate = Date.parse(payPdEnd);
                    myEndDates = new Date(endDate)

                    console.log(myStartDates);
                    console.log(myEndDates);
                    while (myStartDates <= myEndDates) {
                        var firstCol = "<td style='border:none;'>" + myStartDates + "</td>";
                        $('#timeTable').append("<tr>" + firstCol + "</td>");

                        var newDate = myStartDates.setDate(myStartDates.getDate() + 1);
                        start = new Date(newDate);
                    }
if($(“#日期”).val===“12月25日-1月9日”){
var startDates=$('#date').val().split(“-”);
风险值年份=$('year').val;
var yearDec=parseInt(年份,10)+1;
var payPdStart=起始日期[0]+''+年;
var payPdEnd=起始日期[1]+''+年12月;
var startDate=Date.parse(payPdStart);
myStartDates=新日期(startDate);
var endDate=Date.parse(payPdEnd);
myEndDates=新日期(endDate)

虽然(myStartDates问题是您使用的是JQuery,但在javascript中检查值

$('#date')[0].value === 'December 25 - January 9'


应该这样做。

问题是您使用的是JQuery,但在javascript中检查值

$('#date')[0].value === 'December 25 - January 9'


应该这样做。

我看到两个地方您使用了
val
而不是
val()
,您希望调用函数
val
而不是访问不存在的
val
字段

if ($('#date').val() === 'December 25 - January 9') { // <-- val()
  var startDates = $('#date').val().split(" - ");
  var year = $('year').val(); // <-- val()

如果($('#date').val()==='12月25日-1月9日'){/我看到两个地方您使用了
val
而不是
val()
,您希望调用函数
val
而不访问不存在的
val
字段

if ($('#date').val() === 'December 25 - January 9') { // <-- val()
  var startDates = $('#date').val().split(" - ");
  var year = $('year').val(); // <-- val()

if($('#date').val()==='12月25日-1月9日'){/试试这个。它应该可以工作

你的var应该是var(),年份也应该是#年

if($('#date').val()==='12月25日-1月9日'){
var startDates=$('#date').val().split(“-”);
var year=$(“#year”).val();
var yearDec=parseInt(年份,10)+1;
var payPdStart=起始日期[0]+''+年;
var payPdEnd=起始日期[1]+''+年12月;
var startDate=Date.parse(payPdStart);
控制台日志(起始日期);
对数(年);
控制台日志(年月日);
console.log(payPdStart);
console.log(payPdEnd);
myStartDates=新日期(startDate);
var endDate=Date.parse(payPdEnd);
myEndDates=新日期(endDate)

而(myStartDates试试这个。它应该会起作用

你的var应该是var(),年份也应该是#年

if($('#date').val()==='12月25日-1月9日'){
var startDates=$('#date').val().split(“-”);
var year=$(“#year”).val();
var yearDec=parseInt(年份,10)+1;
var payPdStart=起始日期[0]+''+年;
var payPdEnd=起始日期[1]+''+年12月;
var startDate=Date.parse(payPdStart);
控制台日志(起始日期);
对数(年);
控制台日志(年月日);
console.log(payPdStart);
console.log(payPdEnd);
myStartDates=新日期(startDate);
var endDate=Date.parse(payPdEnd);
myEndDates=新日期(endDate)

while(myStartDates
.val()
而不是
.val
)-这是一个函数,你必须调用它。在代码的其余部分,你似乎多次正确地调用了它,也许只是一个输入错误?像这样的问题重申了我的信念,即jQuery作为一个强大的工具,会让人们提出最糟糕的问题……
.val()
而不是
.val
-这是一个函数,你必须调用它。在代码的其余部分,你似乎多次正确地执行了这一操作,也许只是一个输入错误?正是这样的问题重申了我的信念,即jQuery作为一个强大的工具,会让人们提出最糟糕的问题。。。