2012-03-06 2 views
0

Я хочу выбрать вариант из случайного выбора.jquery/javascript выберите случайную случайность

<select class=".sel" id="sel"> 
    <option>a</option> 
    <option>b</option> 
    <option>c</option> 
    <option>d</option> 
</select> 

Фактически я использую jQuery автозаполнение.

Ну, вопрос в том, как я могу выбрать вариант случайно из поля выбора?

и что я пытался это

function change_something(opt) 
    { 
    var randomOption=Math.floor(Math.random()*$(opt+' option').size()); 
    $(opt+ option["value='"+randomOption+"'"]).attr('selected', 'selected'); 
    } 

На самом деле я не являюсь экспертом JQuery, так что я получаю не в состоянии что-то изменить.

+0

где вопрос? где ваш код? – charlietfl

+0

@elclanrs Спасибо за вклад в вопрос, я попробовал что-то ' \t var randomOption = Math.floor (Math.random() * $ (opt + 'option'). Size()); $ (opt + option ["value = '" + randomOption + "'"]). Attr ('selected', 'selected'); ' – Red

+0

как насчет этого: http://stackoverflow.com/questions/7577047/need-a-jquery-randomly-selected-identifier-from-options-available –

ответ

2

Это будет работать с вашим фрагментом примера HTML.

var options = $("#sel > option"); 

var random = Math.floor(options.length * (Math.random() % 1)); 

$("#sel > option").attr('selected',false).eq(random).attr('selected',true); 
+0

Что делать, если я хочу выбрать один из этих вариантов случайным образом, кроме первого варианта? (обычно пустой вариант) - andufo только сейчас редактируют – andufo

3

Вот что вам нужно

options = $("#sel > option") 
options[Math.floor(Math.random() * options.length)].selected = true 

Кроме того, использование класса = "Сель" вместо класса = "ВЫБРАТЬ."

+0

, что было ошибкой ... спасибо .. – Red

+0

Вы попробовали? Кажется, это не работает для меня в Chrome. Это работает только для меня, если я установил 'xxx.selected =" selected "'. – jfriend00

+0

@ jfriend00 Я изменил '.sel' на' sel': D – Red

-1

Измените класс от «.sel» до „Сель“, то попробуйте:

 

$(document).ready(function() { 
    var index = Math.floor(Math.random() * $(".sel option").length) + 1; 
    $("select option:nth-child(" + index + ")").prop("selected", true); 
}); 
 
Смежные вопросы