Нужен jQuery случайно выбранный идентификатор из доступных опций - PullRequest
1 голос
/ 28 сентября 2011

Я хочу случайным образом выбрать идентификатор или значение из одного из множества параметров в моем теге выбора. Кроме того, я бродил, как быстро подсчитать все теги опций в моем теге select, и как я могу эффективно вызывать поле идентификатора случайным образом, поэтому, если я нажму кнопку обновить, он просто выберет другой случайный идентификатор? Это для среды тестирования для автоматического заполнения формы для людей.

Примеры

<select id="selectVendor">
 <option value="55" selected="selected">Company A</option>
 <option value="56">Company B</option>
 <option value="57">Company XYZCYK</option>
... </select>

Наконец, я хочу поместить значение выбранного идентификатора в поле формы ... В конце концов, я хочу использовать ajax, чтобы заполнить всю форму произвольно выбранным идентификатором при первой загрузке страницы. ТНХ

<input type="text" id="txtCompany" value="empty" />

Ответы [ 4 ]

1 голос
/ 28 сентября 2011
var options = $("#selectVendor > option");

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

options.attr('selected',false)
.eq(random).attr('selected',true);

Образец в jsfiddle - здесь .

1 голос
/ 28 сентября 2011
$('#selectVendor option').size();

Даст вам номер опции.

var randomOption=Math.floor(Math.random()*$('#selectVendor option').size());
$("#selectVendor option[value='"+randomOption+"']").attr('selected', 'selected');

Выберет случайную опцию.

1 голос
/ 28 сентября 2011

Вот вам легко прочитать jsfiddle. http://jsfiddle.net/z5aHm/15/

Принимает количество доступных опций, генерирует случайное число между 0 и количеством опций и захватывает значение опции по этому индексу.

1 голос
/ 28 сентября 2011
   $("#txtCompany").val(
       $("#selectVendor option").eq(
         Math.floor(Math.random() * $("#selectVendor option").length + 1)
         ).val()); 

Живой пример здесь: http://jsfiddle.net/rkMYB/1/

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