如何更改选择选项顺序?

时间:2012-12-27 08:40:07

标签: jquery

<select onchange=""class="product-custom-option" name="options[41]">
  <option value=""> -- selsect --</option>
  <option price="0" value="162">L</option>  
  <option price="0" value="163">M  </option> 
  <option price="0" value="164">S </option>  
 <option price="0" value="165">XL </option>

  </select>

现在我想改变顺序:S M L XL

$('.product-custom-option:option(3)').insertAfter('.product-custom-option:option(0)');
$('.product-custom-option:option(1)').insertBefore('.product-custom-option:option(4)');

对不起,我是jquery的新手,以上都没有得到那个?

我想得到这样的新订单:

  <option value=""> -- selsect --</option>
<option price="0" value="164">S </option> 

  <option price="0" value="163">M  </option> 
     <option price="0" value="162">L</option> 
 <option price="0" value="165">XL </option>

2 个答案:

答案 0 :(得分:7)

var options = $('.product-custom-option option' );

$( options[ 3 ] ).insertAfter( $( options[ 0 ] ) );
$( options[ 2 ] ).insertAfter( $( options[ 3 ] ) );

http://jsfiddle.net/ceduG/

但如果可能的话,可能更容易对服务器端进行排序。

答案 1 :(得分:1)

或者你可以只替换select元素的html:

$('.product-custom-option').html('<option value=""> -- selsect --</option><option price="0" value="164">S </option><option price="0" value="163">M  </option><option price="0" value="162">L</option><option price="0" value="165">XL </option>');​

http://jsfiddle.net/746G9/