2017-11-02 8 views
0

私のHTML表の行は、私は私がからのコードの下になったTDはcontenteditable="true"[行IDによって]配列にテーブルの行を変換

<tr id="row1" role="row" class="odd"> 
<td id="edit1" class="sorting_1"> 
<a id="editbtn_1" disabled=""><i class="fa fa-pencil-square-o fa-lg" aria-hidden="true" style="color:green"></i></a> 
</td> 
<td>1</td> 
<td contenteditable="true">15310</td> 
<td contenteditable="true">Abhishek Upadhyay</td> 
<td id="dp1" contenteditable="true">01-09-2017</td> 
<td id="dp1" contenteditable="true">30-10-2017</td> 
<td contenteditable="true">Haryana</td> 
<td contenteditable="true">Mairwa</td> 
<td>31-10-2017</td> 
</tr> 

を設定している配列にそれを取得しようとしています

です次のようにしてスタックオーバーフローポストを実行します。

行IDがすべて取得されるまでは、すべて行変数になりますが、row1が取得されます。

しかし、行の下に、私は、配列、

var contents = $(row).find('td[contenteditable=true]'); 

を期待しています。しかしその未定義とコンソールログにエラーとして来て。

どうすれば配列化できますか?

+0

あなたは右の行 – madalinivascu

+0

を持っていない可能性があり、 '行= '#tbl_Schedule_Update' +行とは何ですか;'? – madalinivascu

+0

@madalinivascuクロムデバッガをチェックしたところ、正しい行と#tbl_Schedule_UpdateはテーブルIDなので、 '#tbl_Schedule_Update row1' – Jack

答えて

2

次を使用します。

$('#editbtn_1').click(function() { 
 

 
    var id = this.id; 
 
    var recordId = id.replace("editbtn_", "").trim(); 
 
    var contents = $(this).closest('tr').find('td[contenteditable=true]');//get all contenteditable from that row 
 
    var contentArray = []; 
 

 
    $.each(contents,function(i,v){ //loop each one 
 
    contentArray.push($(v).text());//push the values to the array 
 
    }); 
 
    console.log(contentArray) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
<tbody> 
 
<tr id="row1" role="row" class="odd"> 
 
    <td id="edit1" class="sorting_1"> 
 
    <a id="editbtn_1" disabled=""><i class="fa fa-pencil-square-o fa-lg" aria-hidden="true" style="color:green"></i>edit</a> 
 
    </td> 
 
    <td>1</td> 
 
    <td contenteditable="true">15310</td> 
 
    <td contenteditable="true">Abhishek Upadhyay</td> 
 
    <td id="dp1" contenteditable="true">01-09-2017</td> 
 
    <td id="dp1" contenteditable="true">30-10-2017</td> 
 
    <td contenteditable="true">Haryana</td> 
 
    <td contenteditable="true">Mairwa</td> 
 
    <td>31-10-2017</td> 
 
</tr> 
 
</tbody></table>

+0

アタの男の子、今それはスマートです。行IDを取得する必要はありません。 closet()を使うだけで、すべてを与えています。ありがとう – Jack

+0

はい親の 'tr'を基準にして項目を選択します – madalinivascu

関連する問題