gpt4 book ai didi

javascript - 使用 on() 方法获取当前对象

转载 作者:行者123 更新时间:2023-11-30 08:06:22 24 4
gpt4 key购买 nike

如何更新调用事件“更改”的当前行的特定输入?

这是我的脚本:

$('#absence-table').on('change', '.from input, .to input',function() {
var from = $('.from input').val();
var to = $('.to input').val();

if (from != "" && to != "")
{
d1 = getTimeStamp(from);
d2 = getTimeStamp(to);

if(d1 <= d2)
{
$('.result input').val(new Number(Math.round(d2 - d1)+1));
}

else
{
$('.result input').val(0);
}
}
});

HTML:

<table class="table table-bordered" id="absence-table">
<tr>
<th>Absence type</th>
<th>From</th>
<th>To</th>
<th>Days requested</th>
<th>Morning</th>
<th>Afternoon</th>
<th colspan="2">Comment</th>
</tr>
<tr class="main-abs-line">
<td>
<select name="absence-type" class="input-small">
<option value="t1">type1</option>
<option value="t2">type2</option>
</select>
</td>
<td class="from"><input type="text" class="input-small" /></td>
<td class="to"><input type="text" class="input-small" /></td>
<td class="result"><div class="text-center"><input type="text" class="input-xsmall" /></div></td>
<td class="morning"><div class="text-center"><input type="checkbox"></div></td>
<td class="afternoon"><div class="text-center"><input type="checkbox"></div></td>
<td colspan="2"><input type="text" /></td>
</tr>
// some tr added by the append() method

目前只更新第一行的结果输入,当前结果输入是从第一行开始复制的。这很奇怪,因为来自“.from input”和“.to input”的值是正确的(当前行的值)。

通常我使用 $(this) 来获取当前对象,但是使用 on() 方法我不知道如何去做。

最佳答案

我相信这就是您要找的:

$('#absence-table').on('change', '.from input, .to input',function() {
$tr = $(this).closest("tr");
var from = $tr.find('.from input').val();
var to = $tr.find('.to input').val();

if (from != "" && to != "")
{
d1 = getTimeStamp(from);
d2 = getTimeStamp(to);

if(d1 <= d2)
{
$tr.find('.result input').val(new Number(Math.round(d2 - d1)+1));
}

else
{
$tr.find('.result input').val(0);
}
}
});

假设您有多个 tr,其中包含 .to.from.result 以及当 .to.from 更新时,您希望同一 tr 中的 .result 得到已更新。

关于javascript - 使用 on() 方法获取当前对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com