Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 jQuery-动态选项选择不正确_Javascript_Jquery - Fatal编程技术网

Javascript jQuery-动态选项选择不正确

Javascript jQuery-动态选项选择不正确,javascript,jquery,Javascript,Jquery,好的,我这里有一个双重的问题 我所做的是我有三个选择框,用户可以选择日期 年和月是预定义的。当用户选择一个月或一年时,“日期”下拉列表会计算出该年该月的天数,并适当填充这些天数 第一个问题是使用代码第一部分中的normal.changeevent。这里发生的事情是我所期望的公平的。它正确地填充前端,但当您选择一个框时,dom强制值为1 为了解决这个问题,我使用了在第二部分中可以找到的on change事件委托。从某种意义上说,当你选择一个值时,你就得到了这个值。但由于某些原因,在使用事件委派时,

好的,我这里有一个双重的问题

我所做的是我有三个选择框,用户可以选择日期

年和月是预定义的。当用户选择一个月或一年时,“日期”下拉列表会计算出该年该月的天数,并适当填充这些天数

第一个问题是使用代码第一部分中的normal.changeevent。这里发生的事情是我所期望的公平的。它正确地填充前端,但当您选择一个框时,dom强制值为1

为了解决这个问题,我使用了在第二部分中可以找到的on change事件委托。从某种意义上说,当你选择一个值时,你就得到了这个值。但由于某些原因,在使用事件委派时,为下拉列表查找正确的日期范围的函数不起作用

我希望能有第二双眼睛盯着它,看看我错在哪里

第一节

//获取每个月和年份的天数,包括闰年 函数getDaysInMonthmonth,year{ 返回新日期年、月、0.getDate; } //更新天数以反映新的月份或年份 函数DayRange月、年、日{ var dmon=$month.val, dyear=$year.val, dday=getDaysInMonthdmon,dyear, ddays='1', $dcont=$day; $dcont.empty;//在追加之前清空列表
对于var i=1;i正常,因此我意识到我做错了什么。我必须将日范围包括在变更事件中,这导致它在变更时重置为1。Duh

//获取每个月和年份的天数,包括闰年 函数getDaysInMonthmonth,year{ 返回新日期年、月、0.getDate; } //更新天数以反映新的月份或年份 函数DayRange月、年、日{ var dmon=$month.val, dyear=$year.val, dday=getDaysInMonthdmon,dyear, ddays='1', $dcont=$day; $dcont.empty;//在追加之前清空列表
对于var i=1;i来说,当它变得简单得多时,你似乎在做很多繁重的工作。你甚至可以看到下面的代码轻松地处理闰年2020

$'dob-month,dob-year'。更改函数{ 变量天数=新日期$'dob-year'。val,$'dob-month'。val,0.getDate;
对于var i=1;i ddays不是必需的,您可以执行i.toString。此外,您可以将select清空,因此添加的第一个选项就是所选的第一个选项。@ROMPEC Yes ddays不是必需的,但它用于其他内容,但在本例中我没有将其删除。此外,如果不清空select,则在数年或数月更改下拉列表。因此需要首先清除它。同时,删除清除事件并不能阻止问题的发生。不,我的意思是,您先清空它,然后再填充它。值为1是强制的,因为这是第一个可用选项。我想这是错误。@RompePC,不是它,伙计。无论如何,我都能解决它,谢谢您的尝试。我发布了我的答案。我可以看到你正在尝试做什么,但应用程序无法正常工作。这是有原因的。不仅仅是提供的示例。复制和粘贴我正在使用的代码的精确副本更容易解决问题。你的解释毫无意义。我提供的答案令人满意这就是你提出的问题,我看不出有什么理由不起作用。如果你没有在问题中提供充分的解释或示例,那么你应该修改它。你的答案不是答案。你已经修改了代码以适应其他需要。其他地方都需要这些功能。没有真正的繁重工作,因为一个简单的.改变是不够的。在我准备好回答这个问题后,我也进来了,我犯了一个愚蠢的错误,就是你发布了一篇整理文章,而不是一个真正的答案。