0

我正在尝试解决这个问题,但还没有得到结果。我试图获取我编辑的行的确切 id 值以执行更新。

我可以获得我当前的单元格值,但我无法获得单元格的相应 id 值。我遍历表 id 值,然后获取表的所有 id 值。

我正在使用这个 jquery 代码进行迭代:

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          alert($(this).html()); 
     }) 
})

然后我尝试了这个简单的 JavaScript:

var fid= document.getElementById("filename").textContent;

它只获取表的第一个 id 值。
例如,如果我编辑第一行,id 值为 53。
如果我编辑第二行,id 值应该是 52,但它只有 53。

看到这个链接,我之前已经发布过这个问题。

4

3 回答 3

1

getElementById获取元素而不是 id。id 是您作为参数提供的内容。

你可以简单地做:

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          alert(this.id); 
     }) ;
});

您可以始终使用元素的数据属性,而不是用 id (应该始终是唯一的)使 DOM 混乱:

<tr data-identifier="53"><td></td></tr>

$('#table').ready(function() { 
     $(this).find('.filename').each( function() { 
          // if this is the row
          alert($(this).data('identifier')); 
     }) ;
});
于 2012-08-27T12:25:58.727 回答
0

嗨,感谢您的回复,我尝试了一个不同的脚本,它工作正常,因为我认为这是代码

function doubleclick(table,id1)
        {

            table.innerHTML="<input type=text name=tab onBlur=\"javascript:submitNewName(this,'"+id1+ "');\" value=\""+table.innerHTML+"\">";
            table.firstChild.focus();
           // alert(id1);
        }
        function submitNewName(text,id2)
        {
            text.parentNode.innerHTML=text.value;
            $.ajax({
        url: 'update',
         data:{text1:text.value,fileid1:id2},
        type:"POST",
        dataType:"json",
        error:function(data){
           //alert('error')
        },
        success: function(data) {
            //alert('updated!')
        }
    });

        }

html: //双击时它会同时传递${item.filedesc},${item.id}

<td ondblclick="javascript:doubleclick(this,${item.id});" >${item.filedesc}</td>
于 2012-08-27T18:09:48.193 回答
0

我不太确定我是否理解您的问题,但这将为您提供表格中所有单元格的 ID:

  $("#table > td").each(function(){
      alert($(this).attr("id"));
  });
于 2012-08-27T12:31:51.963 回答