动态生成的表格,在表格的每行最后一列有按钮点击事件,点击按钮之后取当前行的值给AJAX,但点击后发现取得都是第一行的数据
<script language="javascript" type="text/javascript">
function submit(btn)
{
alert("进来了");
//var tr= btn.parentElement.rowIndex;
var tr = btn.parentNode.parentNode;
//var fund_company =tr.cells(3);
var fund_company =tr.childNodes[7].innerText;
//var fund_company = $("#fund_company").html();
alert(fund_company);
//var fund_code = $("#fund_code").html();
var fund_code =tr.childNodes[5].innerText;
alert(fund_code);
var fund_character =$("#fund_character").val();
//var fund_character =tr.childNodes[5].innerText;
alert(fund_character);
var sub = $("#sub").val();
//var sub =tr.childNodes[4].innerText;
alert(sub);
var vote = $("#vote").val();
//var vote =tr.childNodes[4].innerText;
alert(vote);
var ransom = $("#ransom").val();
//var ransom = tr.childNodes[4].innerText;
alert(ransom);
var params = {
fund_company : fund_company,
fund_code : fund_code,
fund_character : fund_character,
sub :sub,
vote:vote,
ransom:ransom
};
$.ajax({
type : 'post',
data : params,
url : './wx/jjdt/edit/modify.do',
async:false,
success : function(data){
alert(data);
},
dataType: "text"
});
}
<c:forEach var="fund" items="${fund_list}" varStatus="status">
<tr>
<td >${status.index + 1}</td>
<td>${fund.fund_name }</td>
<td id="fund_code">${fund.fund_code }</td>
<td id="fund_company">${fund.fund_company }</td>
<td id="1"><textarea id="fund_character" name="fund_character" >${fund.fund_character }</textarea></td>
<td id="2"><textarea id="sub" name="sub" >${fund.sub }</textarea></td>
<td id="3"><textarea id="vote" name="vote" >${fund.vote }</textarea></td>
<td id="4"><textarea id="ransom" name="ransom">${fund.ransom }</textarea></td>
<td id="1"><input type="button" value="确定" onclick="submit(this)"></td>
</tbody>
<tr>
</c:forEach>
</table>
你用firebug看看你要点击的那个按钮的 onclick 调用的方式之中的参数是否就是第一个,是否可以说具体一点,最好有图,和代码片段
没行数据用一个不同的id或者name区隔开,js取的时候用 $("#你的id").val() 取。
知道为什么吗 ,你每个td的id都一样了 动态拼接加载的table的td上不能给id 不然你肯定会获取的一直第一条的。。。要么直接给个动态id ,要么就是把id删了 用$("#table").find("td").val()取值
你id都重复了,之前你问的帖子不都说了n次了,怎么还是用id选择器呢。。。。而且都是用jquery了,就不需要这么麻烦用原生js了,而且不要用childNodes,标准浏览器下空白节点也算一个节点,所以你得到的不一定是td单元格
function submit(btn) {
/////////////////////////
var tds = $(btn).closest('tr').find('td');
var fund_company = tds.eq(3).text();
var fund_code = tds.eq(2).text();
var fund_character = tds.eq(4).find('textarea').val();
var sub = tds.eq(5).find('textarea').val();
var vote = tds.eq(6).find('textarea').val();
var ransom = tds.eq(7).find('textarea').val();
/////////////////////////
var params = {
fund_company: fund_company,
fund_code: fund_code,
fund_character: fund_character,
sub: sub,
vote: vote,
ransom: ransom
};
console.log(params)/////////
$.ajax({
type: 'post',
data: params,
url: './wx/jjdt/edit/modify.do',
async: false,
success: function (data) {
alert(data);
},
dataType: "text"
});
}