我有一些随机生成的表单选项,我需要重新排序,在一个定义的顺序。
的例子:
<select id="the_size">
<option value="">Select something</option>
<option value="xl">XL</option>
<option value="l">L</option>
<option value="s">S</option>
</select>
应:
<option value="s">S</option>
<option value="l">L</option>
<option value="xl">XL</option>
:
<select id="the_size">
<option value="">Select something</option>
<option value="s">S</option>
<option value="m">M</option>
<option value="xs">XS</option>
</select>
应该是:xs, s, m。
我怎样才能做到这一点?也许隐藏一切,定义一个数组(xs, s, m, l, xl, xxl..),循环一个条件语句,并写出每个对应的值,如果它存在。
您可以对选项进行排序,然后(重新)将它们附加到select
元素:
var c = ['xs', 's', 'm', 'l', 'xl', 'xxl'],
s = document.querySelector('#the_size'),
o = [].slice.call(s.options);
o.sort(function(a, b) {
return c.indexOf(a.value) - c.indexOf(b.value);
}).forEach(function(el) {
s.appendChild(el);
});