【问题标题】:how to get exact id values of a table如何获取表的确切 id 值
【发布时间】:2012-08-27 12:21:09
【问题描述】:

我正在尝试解决这个问题,但还没有得到结果。我试图获取我编辑的行的确切 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。

this link,这个问题我之前发过。

【问题讨论】:

  • 能否包含相关的html?
  • 包含一些实时代码或示例...
  • 附带说明:如果您已经在使用 jQuery,那么在使用选择器时应该坚持使用它。 $("#filename").text()/.val()/.html() 而不是 document.getElementById("filename").textContent 对选择器使用 2 种不同类型的语法只是更令人困惑而不是有益。
  • 你们是否在我的问题中检查了那个链接,它有你想要的东西。

标签: javascript jquery


【解决方案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')); 
     }) ;
});

【讨论】:

    【解决方案2】:

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

      $("#table > td").each(function(){
          alert($(this).attr("id"));
      });
    

    【讨论】:

      【解决方案3】:

      您好,感谢您的回复,我尝试了不同的脚本,它按我的想法工作 这是代码

      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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-02
        • 2021-09-18
        • 2021-08-20
        • 1970-01-01
        相关资源
        最近更新 更多