2017-03-10 13 views
1

私は働いているものであなたの助けが必要です。私はHTMLの7つのカテゴリ(7 trのもの)のテーブルを作成しました。各trには2 tdがあり、1つはカテゴリの名前で、もう1つは入力チェックボックスです。したがって、ユーザーが例えば1,3,5(第1カテゴリーの第1チェックボックス、第3カテゴリーの第3チェックボックスなど)を選択した場合、アレイはorder = [1, 3, 7];のように作成されます。jQueryを使用してオーダーアレイでテーブルを並べ替える

jQueryスクリプトを使用して、選択したtrをテーブルの上部に移動する(ページをリロードする)ようにします。

HTMLテーブル..

var order = [1, 3, 7]; 
$.each(order, function(){ 
    $("#news_body").append($("#" + this)); 
}) 

任意のアイデアが参考になります。

<tbody id="news_body"> 
<tr id="1"> 
<td class="categories">World</td> 
<td class="category_enabled" style="float: right;"><input type="checkbox" value="1"/></td> 
</tr> 

<tr id="2"> 
<td class="categories">Sports</td> 
<td class="category_enabled" style="float: right;"><input type="checkbox" value="2"/></td>  
</tr> 
. 
. 
. 
<tr id="7"> 
<td class="categories">Economy</td> 
<td class="category_enabled" style="float: right;"><input type="checkbox" value="7"/></td>  
</tr> 
</tbody> 

私はすでにこれを試みたがtr年代は表の一番下に表示されます解決済み(更新済み):

$.each(categories, function(){ 
    $("#news_table").append($("#" + this)); 
}) 

答えて

1

ごtime.Iため

jQuery(document).ready(function($) { 

var order = [1, 3, 7]; 
reverse_order=order.reverse();// reversing array so when prepending, checkboxes will display in right order 
$.each(reverse_order, function(key,value){ 

    var selected=$("#" + value);// keep the original tr 
    $("#" + value).remove();// remove from table 
    $("#news_body").prepend(selected);// then prepend it 
}) 
+0

あなたの答えをありがとう! – GeoDim

+0

あなたはようこそ...... –

1

ご希望のものはprepend()です。 これは、テーブルの先頭にelemを挿入します。

var order = [1, 3, 7]; 
$.each(order, function(index, value){ 
    $("#news_body").prepend($("#" + this)); 
}) 
+0

おかげで、私は解決策を見つけたと信じて、この節度をお試しください! – GeoDim

関連する問題