qq_35953308 2017-07-13 12:15 采纳率: 100%
浏览 772
已采纳

js做可编辑表格中的取值问题

图片说明
$(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的值
  • 写回答

3条回答 默认 最新

  • 微wx笑 优质创作者: Java技术领域 2017-07-14 03:15
    关注

    上面的回答落了一个 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条)

报告相同问题?