2012-02-07 129 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()功能,同时使用排序算法进行迭代。