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
になります。2番目の行を編集するとid値は52になりますが、53しか取得されません。

このリンクを参照してください、私は以前にこの質問を投稿しました。

4

3 に答える 3

1

getElementByIdIDではなく要素を取得します。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

私はあなたの質問を理解しているとはよくわかりませんが、これによりテーブル内のすべてのセルのIDが得られます。

  $("#table > td").each(function(){
      alert($(this).attr("id"));
  });
于 2012-08-27T12:31:51.963 に答える
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 に答える