Выбор jquery / javascript случайным образом - PullRequest
0 голосов
/ 06 марта 2012

Я хочу выбрать опцию из случайного выбора.

<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, поэтому мне не удается что-то изменить.

Ответы [ 4 ]

6 голосов
/ 06 марта 2012

Примерно так должно работать:

var $options = $('#sel').find('option'),
    random = ~~(Math.random() * $options.length);

$options.eq(random).prop('selected', true);

http://jsfiddle.net/elclanrs/8DPMN/

3 голосов
/ 06 марта 2012

Это то, что вам нужно

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

Кроме того, используйте class = "sel" вместо class = ". Sel"

2 голосов
/ 06 марта 2012

Это будет работать с вашим примером 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 голосов
/ 06 марта 2012

Измените свой класс с ". Sel" на "sel" , затем попробуйте:


$(document).ready(function() {
   var index = Math.floor(Math.random() * $(".sel option").length) + 1;
  $("select option:nth-child(" + index + ")").prop("selected", true);
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...