javascript - 在 jquery 中第二次单击时执行函数

标签 javascript jquery html date calendar

我有一个日历按钮,单击它会打开一个日期选择器并将日期放入输入文本框中。我想要发生的事情是让第二个文本框自动填充 future 30 天后的日期。我遇到的问题是让它与 jquery 一起工作。

HTML:

<tr>
<td align = "center">Entry Date From:  <input id="ENTRYDATEFROM" name="ENTRYDATEFROM" type="text" maxLength="10" size="12" value="">
<img height="20"src="calendarsrc" id="entrySrc"></td>
<td align = "center">Entry Date To:   <input id="ENTRYDATETO" name="ENTRYDATETO" type="text" maxLength="10" size="12" value="">
<img height="20"src="calendarsrc" id="entrySrc2"></td>
</tr>

JQUERY:

$(document).ready(function() {

  $("#entrySrc").click(function(){
     gAnytime.fPopCalendar(document.myform.ENTRYDATEFROM);
  });

  $("#entrySrc2").click(function(){
     gAnytime.fPopCalendar(document.myform.ENTRYDATETO);
  });

  //Tried this but had no success
  //$(document).on("change", "#entrySrc", populate);


});

function populate(){
 var q = $("#ENTRYDATEFROM");
 var dateTo    = new Date(q.val()); 
 var newDate   = new Date(dateTo.setDate(dateTo.getDate() + 30));
 var formatted = padNumber(newDate.getUTCMonth() + 1) + '-' + padNumber(newDate.getUTCDate()) + '-' + newDate.getUTCFullYear();
 $("#ENTRYDATETO").val(formatted);
}

function padNumber(number) {
  var string  = '' + number;
  string      = string.length < 2 ? '0' + string : string;
  return string;
}

这是我的 GUI 在点击任何东西之前的样子:

这是当我单击位于输入文本框右侧的#entrySrc 日历按钮时发生的情况

然后我可以在该日历框中单击我希望的任何日期。这将填充其左侧的输入文本框。

如何在日历框内的第二次点击上/针对第二次点击执行我的填充函数?

最佳答案

对此可能有一个非常简单的解决方案:在#entrySrc 更改 时简单地触发 populate() 方法。

$(document).on("change", "#entrySrc", populate);

或以下替代方案之一:

$("#entrySrc").on("change", populate);
$("#entrySrc").change(populate);

请注意,您传递的是 populate,而不是 populate()

关于javascript - 在 jquery 中第二次单击时执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188356/

相关文章:

javascript - 如何使用 Jquery 获取每个表的每个 tr 中每个 td 的文本?

javascript - 执行二进制代码

javascript - CKEditor 删除特定实例的样式

javascript - JQuery 颜色选择器在页面加载时显示

javascript - jquery 倒计时器 - 按键时重置

javascript - 为什么数组未定义?

javascript - 如何在使用 .text() 时向文本添加空格

javascript - 如何使小数在计算器 p5.js 中工作

html - 自定义 Facebook 选项卡上的奇怪边框问题

javascript - 如果输入包含在 div 标记中,则 Fieldset 禁用属性不起作用