3

http://fiddle.jshell.net/kBFU7/2/ コードでは、jQuery を使用して動的テーブルを作成しています。テーブルセルごとに div もあります。この div のデータ (たとえば、それぞれの行と列) を格納してアクセスしたいと考えています。

したがって、このデータを保存する方法についていくつかの推奨事項をお願いしたいと思います。このリンクhttp://time2hack.blogspot.sg/2012/11/jquery-store-access-relative-info-within-HTML-elementからの提案に従って、情報を格納する各 div のスパンを作成しようとしました。 html#axzz2Ee3iLxCt ですが、適切ではないようで、情報にアクセスできませんでした。

誰かが私が試すことができるいくつかの推奨事項を教えていただければ幸いです.

4

4 に答える 4

2

したがって、基本的には、動的テーブルを作成し、各 TD とそのデータにアクセスする必要があります。そのためには、これらの TD 内に div または span を配置してそれらのコンテンツにアクセスする必要はありません (それが必要な場合)。これを行う最も簡単な方法は、行と列の位置に従ってこれらの TD のそれぞれに ID を割り当てることです。そうすれば、ループ内または直接またはその他の方法でそれぞれにアクセスできます。

以下に、それを達成するための非常に簡単な方法を書きました。もちろん、必要に応じてカスタマイズまたは拡張できます。しかし、あなたはその考えを正しく理解する必要がありますか?

(私はそれを行うためにurコードを使用しています)

$(document).ready(function() {
createTable($("#tb1"));
    function createTable(tbody){
      if (tbody == null || tbody.length < 1) return;
      for(var r=0;r<5;r++){
        var trow=$("<tr>");
        for(var c=0; c<5;c++){
            var tcol=$("<td>")
            tcol.attr("id","row"+r+"col"+c); /// assign id to each td

            var cellText = "row " +r + " col " +c 
            $("<div>")
                .text(cellText)
                .appendTo(tcol)

            tcol
                .appendTo(trow)
        }
        trow.appendTo(tbody);
      }
    }    
});

だから基本的にあなたはこれをしました:

<td id="row1col1"></td>
   <td id="row1col2" ></td>

セルにアクセスしたいときはいつでもこれを行います

$('#row1col1').text();
or
$('#row1col1').html();

のようなループでセルにアクセスできます

for(var r=0;r<5;r++){
    for(var c=0;c<5;c++){

       var cellValue=   $('#row'+r+"col"+c).text() // or .html()

         makeAjaxRequest(cellValue); /// send to server or whatever
   }
}
于 2012-12-10T13:47:12.213 に答える
1

div を作成するときに一意の ID を追加します。

.attr("id","cell-" + r+ "-" + c)

入力のあるボタンでこのコードを試してください:

$("#btn").bind("click", function(){
  var r = $('#row').val();
  var c = $('#column').val();
  var data = $('#data').val();
  $('#cell-' + r + '-' + c).text(data);        
});        

私のフィドルで試してみてください: http://jsfiddle.net/kBFU7/4/

于 2012-12-10T13:51:10.700 に答える
0

この値を配列として渡し、バックエンドで受け取る必要があります。このリンク http://www.aspdotnet-suresh.com/2012/07/aspnet-save-dynamically-created-control.htmlにアクセスしてください。

于 2012-12-10T13:40:51.267 に答える
0

要素のデータ属性にアクセスするには; 2つの方法があります。jQueryはそのデータにアクセスします

$('#table_cell_div').data('情報');

ただし、この関数は、DOM が以前に作成されている場合にのみ機能します。

$(document).ready();

つまり、JS によって作成されたドキュメント要素はdata()、jQuery の機能ではアクセスできません。

ただし、DOM の準備が整った後にそれらの要素と属性にアクセスするには、次のコードでそのデータにアクセスできます

$('#table_cell_div').attr('データ情報');

于 2012-12-11T01:54:30.087 に答える