jQuery 更改函数适用于一个页面,但不适用于另一个页面

jquery change function works on one page but not another

本文关键字:适用于 另一个 不适用 一个 函数 jQuery      更新时间:2023-09-26

我在我正在处理的一个项目中的点击功能遇到了一点麻烦。如果在主页上注意到填充入住和退房日期,然后切换属性,则会清除两个输入中的值。

// clear datepickers on property change
$('#DropDownListProperty').change(function () {
    $('#TextBoxCheckIn').val('');
    $('#TextBoxCheckOut').val('');
});  

(如果你在Firebug中,页面脚本上的第276行)

我需要定价页面上的相同功能,但由于某种原因,更改事件永远不会触发。据我所知,我已经以完全相同的方式实现了代码,并添加了几行:

// clear datepickers and pricing on property change
$('#DropDownListProperty').change(function () {
    $('#TextBoxCheckIn').val('');
    $('#TextBoxCheckOut').val('');
    $('#pricing').hide();
    $('#personal-info').hide();
}); 

但是这里的代码永远不会触发。(Firebug 中页面脚本的第 172 行)。我发誓我已经检查了 ID 一百万次,但它难倒了我是什么阻止了字段被清除。

任何帮助不胜感激!

与我之前评论的错误相关,请尝试在代码中注释掉第 166 行到 170 行,您的 change 事件应该会立即触发而不会出错。

这是您应该注释掉的问题代码:

var endDate = new Date($('#TextBoxCheckIn').datepicker('getDate').getTime() + msecsInADay);
if (endDate != null) {
   $('#TextBoxCheckOut').datepicker("option", "minDate", endDate);
}

您在第 166 行出现错误:

var endDate = new Date($('#TextBoxCheckIn').datepicker('getDate').getTime() + msecsInADay);

返回 : 未捕获的类型错误: 无法调用 null 的方法 'getTime'

您试图获取日期的时间,这是空白的。将这些行放入

 $('#TextBoxCheckIn').datepicker({

这应该有效