【发布时间】:2014-04-04 07:43:15
【问题描述】:
我正在尝试this solution 整理下拉菜单,但选项中有两位数,14 和 11 在 8 和 9 之前。
我应该如何处理这个问题?
我的代码如下:
<select id="test">
<option>Size 9</option>
<option>Size 14</option>
<option>Size 8</option>
<option>Size 11</option>
</select>
$("#test").html($("#test option").sort(function (a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
}))
即使只有字符而不是混合字符,我也需要一个解决方案来对下拉列表进行排序。
【问题讨论】:
-
你能澄清一下“只有字符”是什么意思吗?你的意思是“小”、“中”和“大”吗?
-
您正在比较字符串。
Size 14总是在Size 9之前排在第一位。为选项输入数值,以便您可以按数字排序。 -
你想要排序字符串或数字
-
你到底想要什么?
-
实际上你是按文本排序的。所以在排序时,它首先对第一个数字进行排序,在这种情况下,1 排在 8,9 之前,然后再排序。
标签: javascript jquery sorting