2013-05-16 53 views
-2

有人可以幫助提供jQuery能夠從現有的選擇對象中隨機選擇一個選項嗎?
例如:jQuery從選擇中獲得隨機選項值

<select id="items"> 
    <option value="1">Item A</option> 
    <option value="4">Item B/option> 
    <option value="8">Item C</option> 
</select> 

由於值不連續的,我假設我不能使用$('#items option').length作爲Math.random乘法器。

+0

可以呀,你選擇'option'元素,*不*指定'value'。 '價值'和選項索引*不是同一回事。 –

+0

當然可以。索引到該數組並不取決於選項的值。 – Barmar

回答

2
var options = $('#items option'), 
    min  = 0, 
    max  = options.length, 
    rand = Math.floor(Math.random() * (max - min + 1)) + min; 

var random_option_value = options.eq(rand).text(); 

// to set the select to a random option, do : 
// $('#item').val(options.eq(rand).val()); 

請務必關閉中間option

+0

感謝您的幫助! – PaulMc

0

試試這個:

var length = $('#items option').length; 
var pick = Math.floor(Math.random()*length); 
var randomOption = $('#items option')[pick];