2013-05-16 4 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'. Значение 'value' и option-index * не * одно и то же. –

+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]; 
Смежные вопросы