需要从可用选项中随机选择jQuery标识符

时间:2011-09-28 00:22:03

标签: jquery jquery-selectors

我想从select标签中的众多选项之一中随机选择一个id或值。我也在徘徊如何快速计算我的选择标签中的所有选项标签,以及如何有效地随机调用ID字段,所以如果我点击刷新,它只会选择另一个随机ID?这是一个测试环境,可以为qa人自动填写表格。

实施例

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

最后我想把我选择的id的值放到我的表单字段中...最后我想用ajax在页面首次加载时用随机选择的标识符填充整个表单。 THX

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

4 个答案:

答案 0 :(得分:1)

   $("#txtCompany").val(
       $("#selectVendor option").eq(
         Math.floor(Math.random() * $("#selectVendor option").length + 1)
         ).val()); 

此处的实例:http://jsfiddle.net/rkMYB/1/

答案 1 :(得分:1)

$('#selectVendor option').size();

会给你选项编号。

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

将选择一个随机选项。

答案 2 :(得分:1)

这是一个易于阅读的jsfiddle,让你去。 http://jsfiddle.net/z5aHm/15/

获取选项数量,生成0和选项数量之间的随机数,并在该索引处获取选项的值。

答案 3 :(得分:1)

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

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

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

jsfiddle的样本是here