2017-05-17 7 views
0

私はtableを持っていて、いくつかはそれぞれthの要素を持ち、それぞれ固有の値を持っています。JQueryは特定のthにtdを追加します

私はth値と一致するtdtd値を追加し、同じ順序の下でそれを追加します。

私はこのコードを試しましたが、同じthの中にデータを追加しました! trの新しい行にtdが必要です。私はこのすべては、ループ内で、その前提で発生していると仮定しています

$("<td>" + data[i][0].counter + "</td>").insertAfter("#datatable th[value='"+data[i][d].orderStatus+"']").trigger("create"); 
+0

'data [i] [0] .counter'は一意の値であると仮定できますか? – metame

+0

また、テーブルのhtmlの最小限のスニペットは、この問題をよりよくするでしょう。 – metame

+0

ユニークTRのための私のコード テーブル#datatable.table.table-striped.table-bordered.table-ホバー thead要素 TR 番目の日 -for(状態のVAR I){ 番目(下の、ヒスイを使用しています値= i)=ステータス[i] - } tbody – Faisal

答えて

2
$("<td>" + data[i][0].counter + "</td>") 
        .insertAfter("#datatable th[value='"+data[i][d].orderStatus+"']") 
        .trigger("create"); 

、これは私がオフ動作するものです。最初に、まず始めにコードをステップバイステップで実行し、いくつかのことを理解できるようにします。

$( "" +データ[i]が[0] .counter + "")あなたとして

は認識していない可能性があり、jqueryの中$("x")が相当ですCSSセレクタを使用します。例えば、私はjQueryを使って黒い背景を持っている.example-divのクラスを持つすべての<div>の要素を設定したい場合は、 - 私は次のようにそうすることができます:

<div class="example-div">Hello, World!</div> 

<script> 
    $('.example-div').css({"background-color":"#000000"}); 
    /* OR if I wanted to set all divs to have a black background. */ 
    $('div').css({"background-color":"#000000"}); 
</script> 

セレクタに<>と物理タグを配置します最も問題を引き起こす可能性があります。まず、対話したい要素(s)を選択する必要があります。あなたの場合、あなたの必要性に応じて、次のことが働く可能性があります。

$("#datatable th[value='"+data[i][d].orderStatus+"']") 

また、私がセレクターに行った変更を見てください。 #datatableの後に>を削除しました。より大きい文字(>)は直下の子を選択し、<th><table id="datatable">の子ではありません。これは、この例に示すように<thead>の子である<tr>の子である:あなたのコードの次の部分のために今

$("#datatable > thead > tr > th")

:(<table><thead><tr><th>)これがうまくいく場合、以下であります:ときにあなたは何を意味するのか、このを見て、私は理解して

InsertAfter( "#DataTableの番目の[値= ' "+データ[i]と[D] .orderStatus +"']")

wroそれをね。値data[i][d].orderStatusを含む<th>タグの後に挿入物"<td>" + data[i][0].counter + "<td>"を挿入するとします。 htmlの後にセレクタを挿入しようとしているので、これらを逆にしたことになります。

$("#datatable th[value='"+data[i][d].orderStatus+"']").after("<td>" + data[i][0].counter + "</td>"); 

注:ここで仕事がなければならないものだ、私はafter代わりinsertAfterの使用していることに注意してください、これは関係ありません。

.after()および.insertAfter()メソッドは同じタスクを実行します。 [(& InsertAfter後)] [1] [1]:http://api.jquery.com/insertafter/

私はあなたがcreateとトリガーしようとしている何のイベントかわからないが、それはまだ必要だ場合は、最後にこれを、連鎖することができます。

$("#datatable th[value='"+data[i][d].orderStatus+"']").after("<td>" + data[i][0].counter + "</td>").trigger("create"); 
+0

ありがとうございました。私の考えは明確ではないと思います。日付と注文ステータスのテーブルを持っています。データをテーブルに追加し、各行にデータを調整したい(注文ステータス) データを追加するには、行と列の特定の位置にデータを挿入したいのですが、jqueryに行と列を検索し、子として挿入する方法を教えてください。 あなたのコードを試してみましたが、データは挿入されましたが、 ??私はそのをそれ自身の子ではなく – Faisal

+0

と選択したので、私はすべてをクリアするために新しい質問を開いた、plzそれをチェックする http://stackoverflow.com/questions/44039352/jquery-insert-cell-to-specific -tr値の値とtd値 – Faisal

関連する問題