我想从javascript设置时间值时,tr表点击,但它只是第一行的工作。然后,如果我试图提醒(不设置值)其工作idk什么问题,这里是我的代码:
注:表编码太长,无法共享,但表ID为example_table
我希望每次点击表格的任何一行都可以设置时间值
$(document).ready(function() {
$("#example_table").delegate("tr", "click", function() {
var d = new Date(),
h = (d.getHours() < 10 ? '0' : '') + d.getHours(),
m = (d.getMinutes() < 10 ? '0' : '') + d.getMinutes();
now = h + ':' + m;
$("#start").val(now);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input type="time" name="start" class="form-control form-control-border" id="start">
2条答案
按热度按时间jv4diomz1#
如果有一个至少有3行的minimal reproducible example就太好了。
.delegate
对于.on
已弃用1.使用相对选择
1.使用toISOString以最简单的方式获取以hh:mm为单位的时间。
如果一个单元格中有一个按钮,而另一个单元格中有一个时间,则可以使用
closest
导航到该行,然后导航到输入:一个二个一个一个
at0kjp5o2#
@Swati是对的。你不能对多个元素使用相同的ID。如果你使用相同的ID,你将只能得到第一个元素。
你可以使用类来解决这个问题,或者你可以为所有的标签生成不同的动态ID。