後一個輸入控件的名稱屬性重置我有一個表格內HTML表在一個asp.net MVC視圖。我也使用了tablesorter jquery插件。如何一個jquery動作
下面是表代碼(簡化的例子)
<table id=managersTable>
<thead>
<tr>
<th>Manager</th><th>Remove</th>
</tr>
</thead>
<tbody>
<tr>
<td>Manager 1<input type='hidden' name='updater.managers[0].Id' value=2313 /></td>
<tr>
<td>Manager 2<input type='hidden' name='updater.managers[1].Id' value=3233/></td>
<td><input type='button' class=removeButtonManager value='Remove' name='remove' /></td>
</tr>
</tbody>
,從而可以看到,有一個與文本和一個按鈕的第二列的一列。我有它迷上了,所以當你點擊按鈕,它使用此代碼刪除行從HTML表格:
$(document).ready(function() {
$(".removeButtonManager").live("click", function(event) {
var row = $(this).closest("tr").get(0);
$(this).closest("tr").remove();
$("#managersTable").trigger("update");
$("#managersTable").trigger("appendCache");
});
});
一切都運行完美,除了一個問題。當我在「刪除」按鈕,點擊它去掉了行,但隨後的問題是,
name='updater.managers[0].Id'
該指數已關閉,它看起來像在asp.net的MVC結合最新的版本,如果你沒有你的元素索引屬性(0,1,2等),它不綁定。
所以,如果我從來沒有刪除一行它完美的作品原來的0,1,2,但如果我刪除第一行的話,我只有列表(1,2)和asp.net的MVC不會綁定這個對象。
所以我想弄清楚如何我可以重置每個元素中的[]索引後,我刪除一個行,所以無論刪除任何行,它總是給我一個從0開始的連續列表。
所以這部分工作(upvoted的好主意)。一個問題是,在上面的情況下,我有2行開始(元素0,1),我刪除第一行(在上面的代碼後我應該有一個元素)我現在第二行的數據元素0(完美的),但我還可以得到一個返回與所有設置的屬性的對象的第二元件(1)。有任何想法嗎 ?? – leora 2009-12-24 16:48:40
我真的不知道你的意思。 $(「#managersTable」)。發現(「輸入[類型=隱藏]」)返回的數組,並有在它的兩個元件?也許選擇器需要更具體,以便它只針對表格。我不確定你在第二個對象上的'所有屬性設置'是什麼意思。 – 2009-12-24 16:57:36
最初有2行(元素0&1),然後在第一行單擊刪除,只剩下一行。當我向控制器提交時,我仍然看到兩個元素髮送給我的控制器。它似乎是第一個元素是「原始」第二行(這是有道理的,因爲第1行被刪除)。但它也將數組中的第二個元素髮送到控制器,但沒有設置任何屬性。我把一些代碼簡單地忽略這個元素(類型的黑客),但不知道爲什麼這個元素被傳遞的第一個地方,因爲我刪除第一行後,我應該只有一個元素 – leora 2009-12-24 17:01:48