3
<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>
4

2 回答 2

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

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

http://jsfiddle.net/ceduG/

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

于 2012-12-27T08:49:24.597 回答
2

或者您可以只替换 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/

于 2012-12-27T09:07:51.953 回答