2016-06-26 58 views
0

我有一個表是這樣的如何將jQuery可排序後更新多個TD的編號

<table class="table table-bordered table-striped table-highlight" 
 
\t \t \t \t id="tab_logic"> 
 

 
\t \t \t </table>
我加入其中有多個列的表像這樣

for (var i = 1; i <= num; i++) { 
 
\t \t \t \t 
 
\t \t \t \t var htm = ""; 
 
\t \t \t \t htm += "<tbody class='editrow'> <tr class='321'><td colspan='3' align='center'><p id='addrp"+i+"'><strong>Action Button " 
 
\t \t \t \t \t \t + i + " Properties</strong></p></td></tr>"; 
 
\t \t \t \t htm += "<tr class='123'><td align='center' style='width:15%'><p id='addac"+i+"'><strong>Action</strong></p></td><td class='text-danger' align='center' style='width:15%'><p id='addpac"+i+"'>Action</p></td><td><input type ='text' class ='form-control' id='addiac" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' name ='addiac" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' placeholder='Enter Action'</td> </tr>"; 
 
\t \t \t \t htm += "<tr class='123'><td align='center' style='width:15%'><p id='addat"+i+"'><strong>Action Text</strong></p></td><td class='text-danger' align='center' style='width:15%'><p id='addpat"+i+"'>Action Text</p></td><td><input type ='text' class ='form-control' id='addiat" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' name ='addiat" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' placeholder='Enter Action Text'</td> </tr>"; 
 
\t \t \t \t htm += "<tr class='123'><td align='center' style='width:15%'><p id='addcc"+i+"'><strong>Color Code</strong></p></td><td class='text-danger' align='center' style='width:15%'><p id='addpcc"+i+"'>Color Code</p></td><td><input type ='text' class ='form-control' id='addicc" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' name ='addicc" 
 
\t \t \t \t \t \t + i 
 
\t \t \t \t \t \t + "' placeholder='Enter Color Code'</td> </tr></tbody>"; 
 
\t \t \t \t $('#tab_logic').append(htm); 
 
\t \t \t }

此外我正在使行鄰分揀F該表使用jQuery UI可排序的幫助

$("#tab_logic").sortable({ 
 
\t \t \t \t \t items : ".editrow", 
 
\t \t \t \t \t helper : "clone", 
 
\t \t \t \t \t update : function() { 
 
\t \t \t \t \t \t reorder(); 
 
\t \t \t \t \t } 
 
\t \t \t \t }).disableSelection();

這樣做了以後我運行在JQuery的滾動的更新屬性的功能重新排序,這將更新所有表列的ID 。由於每個TD元素是不同的,我需要能夠滾動每一個元素,並獲得他們的ID和更新它。

這個我重新排序的功能是這樣

function reorder() { 
 
\t \t \t var order = $("#tab_logic").find('td'); 
 
\t \t \t alert(order); 
 
\t \t \t var size = order.size(); 
 
\t \t \t alert(size); 
 

 
\t \t \t for (var i = 0; i < order.size(); i++) { 
 
\t \t \t \t var t = order[i].attr('id'); 
 
\t \t \t \t alert(t); 
 
\t \t \t } 
 
\t \t }

var t = order[i].attr('id');是不是給我的TD元素的ID進行更新。我如何使用

function reorder() { 
 
\t \t \t var order = $("#tab_logic").find('td'); 
 
\t \t \t var order = $("#tab_logic td"); 
 
\t \t \t alert(order.length); 
 
\t \t \t order.each(function(){ 
 
\t \t \t \t var t = var t = $(this).children("p:last").attr('id'); 
 
\t \t \t \t alert(t); 
 
\t \t \t \t 
 
\t \t \t }); 
 

 
\t \t }

+1

因爲id是'p'標籤定義iside了'td',而不是'td'本身?順便說一句,改變一個id的點是什麼? – Thomas

+0

@Thomas表格是我在春季提交給我的控制器的一部分,它更新了數據庫。所以爲此,我需要相應地更新ID。你能告訴我,我仍然可以在for循環中獲得td的id嗎? –

+0

爲了不更新'id'客戶端,您爲什麼不以正確的順序發送項目並更新後端的訂單更改?更新元素的id通常不在前端完成。 –

回答

1

得到它

我也曾嘗試我會利用.each()的。

類型:函數(整數索引,元素元件)

的函數以執行用於每一個匹配元素。

function reorder() { 
    var order = $("#tab_logic").find('td'); 
    alert(order); 
    var size = order.size(); 
    alert(size); 

    order.each(function(k, v){ 
    console.log("TD #" + k + " ID: " + $(v).attr("id")); 
    var t = $(v).attr('id'); 
     alert(t); 
    } 
    }); 
}