使用javascript命令随机表单选项



我有一些随机生成的表单选项,我需要重新排序,在一个定义的顺序。

的例子:

<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);
});

最新更新