我正在尝试获取表行中一个输入的值,如果行中的其他单元格中有一个值。这里的目标是,如果用户输入收到的行中的钱,则需要接收日期。因此,在提交时,我想查看所有行并检查当前单元格中的条目,然后检查日期单元格中的日期。付款条目有多行。这是HTML:
<div class="new_payments">
<tr>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][payment_date]"
class="payment_date"
size='10' maxlength="10"
>
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][credit_card]"
class="credit_received"
size="8">
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][check]"
class="check_received"
size="8">
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][cash]"
class="cash_received"
size="8">
</td>
</tr>
</div>
这是我正在使用的jQuery(尚未添加对'this'中的值的检查),看看我是否得到了预期的结果。可悲的是,我得到了'未定义':
jQuery('input:text.cash_received').each (function() {
var $theDate = jQuery(this).closest('div.new_payments').find('.payment_date').attr('value');
alert('the closest date value is ' + $theDate );
});
我以为我理解了去父母的概念,然后找到你正在寻找的元素。显然不是?谢谢你的出色帮助!
答案 0 :(得分:0)
这是经过测试和运作的。它只会在.cash_received
有值时发出警报。我在测试输入中添加了值。还要注意删除div包装器。我把课程添加到了TR
jQuery(document).ready(function(){
jQuery('input[type=text][value!=""].cash_received').each (function() {
var myval= jQuery(this).parents('.new_payments').find('.payment_date').val();
alert('the closest date value is ' +myval);
});
});
<tr class="new_payments">
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][payment_date]"
class="payment_date" value='this should alert'
size='10' maxlength="10"
>
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][credit_card]"
class="credit_received"
size="8">
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][check]"
class="check_received"
size="8">
</td>
<td>
<input type="text"
name="new_payments[<?php echo $s ?>][cash]"
class="cash_received" value='this input has a value'
size="8">
</td>
</tr>