我有一个动态表,每行有4列。
我正在尝试确定单击按钮时输入的值,但警报类似于“3 undefined undefined”。我知道我没有正确使用其中一个选择器但不确定哪个。
以下是代码:
$(document).ready(function() {
$("img.btnUpdate").click(function(){
var id = $(this).attr("name");
var rate = $(this).parent().find(".gvRate").val();
var max = $(this).parent().find(".gvMax").val();
alert(id + ' ' + rate + ' ' + max);
}); // end btnUpdate click
}); // end document.ready function
这是HTML(排序)
<div id="editInnerContent">
<table id="gvEdit" align="center" border="1" cellpadding="5px" style="width:600px;">
<tr>
<th style="width:40%;text-align:center;">ITEM</th>
<th style="width:20%;text-align:center;">RATE</th>
<th style="width:20%;text-align:center;">MAX</th>
<th style="width:20%;"></th>
</tr>
<?php
foreach( $globalVars as $arrGV){
echo "<tr>";
echo "<td><label class='gvItem'>" . $arrGV['item'] . "</label></td>";
echo "<td><input type='text' class=gvRate' value='" . $arrGV['rate'] . "' /></td>";
echo "<td><input type='text' class=gvMax' value='" . $arrGV['max'] . "' /></td>";
echo "<td style='text-align:center;'><img class='btnUpdate' name='" . $arrGV['id'] . "' src='" . base_url() . "images/update.png' /></td>";
echo "</tr>";
} // end foreach
?>
<tr>
<td colspan="3">
</td>
</tr>
<tr style="background:#DC241F;">
<td colspan="4" style="text-align:center;">
<img id="btnExitGlobalValues" src="<?php echo base_url();
?>images/exitGlobalValues.png" />
</td>
</tr>
</table>
</div> <!-- END editInnerContent DIV -->
答案 0 :(得分:1)
如果这是一个真正的HTML表格,您需要上升两个级别的父级。
第一次拨打.parent()
会将您带到<td>
,然后您需要另一个来<tr>
。
或者使用:
$(this).closest('tr').find(...)