2012-02-07 135 views
2

是否可以使用jquery對文本字段進行排序? 我想排序文本字段中的值。我無法使用網格。我需要在JQuery中做到這一點。jquery文本字段排序

<table width="50%" border="0"> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="5"> 
</label></td> 
</tr> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="3"> 
</label></td> 
</tr> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="6"> 
</label></td> 
</tr> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="1"> 
</label></td> 
</tr> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="9"> 
</label></td> 
</tr> 
<tr> 
<td><label> 
    <input name="textfield" type="text" value="8"> 
</label></td> 
</tr> 

</table> 

我想文本字段爲1,3,5,6,8,9(ASC順序)進行排序。 我找不到解決方案。請只做那些需要的。由於

+0

您可以手動更改'value'並給出相應的'label',對吧?我的意思是它只是文本字段的價值。 – uday 2012-02-07 05:25:50

回答

1
var mylist = $('table'); 
var listitems = mylist.find('input[type=text]'); 
listitems.sort(function(a, b) { 
    var compA = $(a).val(); 
    var compB = $(b).val(); 
    return (compA < compB) ? -1 : (compA > compB) ? 1 : 0; 
}) 
$.each(listitems, function(idx, itm) { mylist.append(itm); }); 
+0

它工作正常。謝謝。但外觀改變了。如何保持原樣。請告訴我。謝謝 – 2012-02-07 06:16:03

0

給他們的ID,然後通過DOM使用each()功能,同時使用排序算法進行迭代。