【问题标题】:javascript form fields that need to repeat (loop) in the form需要在表单中重复(循环)的javascript表单字段
【发布时间】:2017-04-28 03:40:24
【问题描述】:

下面是一些使用时间选择器的 HTML 表单代码。当我单击第一行时,时间选择器按预期执行。但是,当我尝试将时间添加到第二行或后续行时,它不起作用。 onClick 函数显示日历,就像它在第一行中一样,但是这些值不会返回到输入单元格。

下面的代码是在循环命令中生成的,每一行都被分配了一个索引/唯一值。然而,它仍然没有正确执行。 HTML 表单页面本身是用 ColdFusion 编写的。

<cfoutput> 
   <cfloop index="z" from="1" to="3">

    <div class="table right">
      <input type="text" id="starttime#z#" placeholder="Time">
    </div>

    <div class="table right">  
      <input type="text" id="endtime#z#" class="icon" placeholder="Time">
      <a id="link#z#"></a>
    </div>

    <script>
    var endtime#z# = document.getElementById('endtime#z#');
    var timepicker = new TimePicker(['starttime#z#', 'link#z#'], {
      lang: 'en',
      theme: 'blue-grey'
    });
    timepicker.on('change', function (evt#z#) {
      var value = (evt#z#.hour || '00') + ':' + (evt#z#.minute || '00');

      if (evt#z#.element.id === 'link#z#') {
        endtime.value = value;
      } else {
        evt#z#.element.value = value;
      }
    });

    hljs.configure({ tabReplace: '  ' });
    hljs.initHighlightingOnLoad();
    </script>

</cfloop>
</cfoutput>

【问题讨论】:

    标签: javascript coldfusion


    【解决方案1】:

    你说这段代码是在循环中执行的。假设循环使代码运行 3 次。意思是这样的:

    <input type="text" id="endtime2" placeholder="Time">
    

    将在页面上出现 3 次。 JavaScript 会遇到这样的问题:

    var endtime2 = document.getElementById('endtime2');
    

    因为有 3 个元素的 id = endtime2。

    你是这样处理的:

    <cfoutput>
    <cfloop from = 1 to = 3 index = "idx">
    <input type="text" id="endtime#idx#" placeholder="Time">
    etc
    var endtime#idx# = document.getElementById('endtime#idx#');
    etc
    

    【讨论】:

    • 是的,我就是这样,显示的数值是每个循环动态的
    • 那么,结果如何?
    • html源代码示例
    • (编辑)我不知道那是什么意思。您的新代码是否解决了问题?如果没有,请edit您的问题包括任何 CF 或 JS 错误消息(检查浏览器的 Web 控制台)。此外,还有不同的时间选择器库,因此请附上您正在使用的特定库的链接。
    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2013-02-25
    • 2013-10-08
    • 1970-01-01
    相关资源
    最近更新 更多