【问题标题】:JQuery for dynamically generated input fields用于动态生成输入字段的 JQuery
【发布时间】:2016-09-15 17:24:47
【问题描述】:

我遇到以下问题;我有一个动态生成的表格。在其中一列中,我有一个带有一些选项的选择输入,在以下列中,我有一个 Timestamp 输入字段,只要用户选择其中一个选项,该字段就会自动填写当前日期。我有以下代码,但是,时间戳要么仅针对第一行(如果我将 id 用于输入字段)或所有行(如果我将类用于输入字段)生成。我只需要在与选择下拉列表相同的行中填写时间戳。任何帮助将不胜感激。

<select  class='Status'> 
  <option value= '1'> Option1 </option>
  <option value= '2'> Option2 </option>
</select> 

<input type=text class='TimeStamp'/>

然后对于我的 JQuery,我有以下代码:

$(document).ready(function() {
    $('.Status').on('change', function() {
        $('.TimeStamp').val("CurrentDate");
});
});

【问题讨论】:

标签: jquery


【解决方案1】:

试试这个:

$(document).ready(function() {
    $('.Status').on('change', function() {
        // get current row
        var row = $(this).parent().parent();
        // find .TimeStanp in the current row and set value
        row.find('.TimeStamp').val("CurrentDate");         
    });
});

【讨论】:

  • 是否有任何简单的方法来格式化 Date() 以这种格式返回日期: 09-14-2016 10:11:51 ?我尝试了以下代码,但没有成功:var d = new Date(); var h = d.getHours(); h = (h &lt; 10) ? ("0" + h) : h ; var m = d.getMinutes(); m = (m &lt; 10) ? ("0" + m) : m ; var s = d.getSeconds(); s = (s &lt; 10) ? ("0" + s) : s ; datetext = datetext + " " + h + ":" + m + ":" + s;
【解决方案2】:

您需要使用事件delegation,如下所示。

$(document).on('change', '.Status', function() {
    $('.TimeStamp').val("CurrentDate");
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2016-06-05
    • 2015-05-16
    • 2014-08-21
    • 1970-01-01
    相关资源
    最近更新 更多