$(function(){
$("td").click(function(event){
if($(this).children("input").length > 0)
return false;
var tdObj = $(this);
var preText = tdObj.html();
var inputObj = $("");
tdObj.html("");
inputObj
.val(preText)
.appendTo(tdObj)
.trigger("focus").trigger("select");
inputObj.blur(function () {
var newText = $(this).val();
var textName = ??;
});
再做一个可编辑的表格,当失去焦点时获得了它的值newText,
<tr>
<td abbr="suspects">${fn:join(encoder.suspects, ",")}</td>
<td abbr="caseNo" class="center">${encoder.caseNo}</td>
<td abbr="caseTag">${encoder.caseTag}</td>
<td abbr="caseName">${encoder.caseName}</td>
<td abbr="action">${encoder.action}</td>
<td abbr="execRst">${encoder.execRst}</td>
<td abbr="execDate">${encoder.execDate}</td>
<td abbr="undertakers">${encoder.undertakers}</td>
<td abbr="organize">${encoder.organize}</td>
<td abbr="caseType">${encoder.caseType}</td>
<td abbr="manager">${encoder.manager.name}</td>
</tr>
怎么得到td中对应的abbr的值,再得到这行数据中caseNo的值
上面的回答落了一个 parent()
$(function() {
$("td").click(function(event) {
if ($(this).children("input").length > 0) return false;
var tdObj = $(this);
var preText = tdObj.html();
var inputObj = $("<input>"); //你这里是希望用 input 标签吗?
tdObj.html("");
inputObj.val(preText).appendTo(tdObj).trigger("focus").trigger("select");
inputObj.blur(function() {
var newText = $(this).val();
//这里取父元素也就是 td 的 attr 属性
var textName = $(this).parent().attr("abbr");
//如果需要获得同行其它单元格的值,只需要修改属性名称就可以了。
var caseNoVal = $("[attr='caseNo']", $(this).parent().parent()).html();
});
});
});
一个问题怎么发了2个地方,记得采纳:)。。
http://bbs.csdn.net/topics/392192529
abbr在td上,你用inputObj对象干嘛,用tdObj变量,caseNode通过关系获取
inputObj.blur(function () {
var newText = $(this).val();
var textName = tdObj .attr("abbr");
var caseNode=tdObj .parent().find('td:eq(1)').text();
});
直接上代码吧:
$(function() {
$("td").click(function(event) {
if ($(this).children("input").length > 0) return false;
var tdObj = $(this);
var preText = tdObj.html();
var inputObj = $("<input>"); //你这里是希望用 input 标签吗?
tdObj.html("");
inputObj.val(preText).appendTo(tdObj).trigger("focus").trigger("select");
inputObj.blur(function() {
var newText = $(this).val();
//这里取父元素也就是 td 的 attr 属性
var textName = $(this).parent().attr("abbr");
//如果需要获得同行其它单元格的值,只需要修改属性名称就可以了。
var caseNoVal = $("[attr='caseNo']", $(this).parent()).html();
});
});
});