我知道必须有更好的方法来解决这个问题,但我无法弄清楚。
我需要生成8个不同的随机数,用作某些val
的{{1}} s。以下脚本有效,但必须有一种更简单的方法。
selects
答案 0 :(得分:3)
使用循环并使用索引修改选择器
$('#test12').click(function() {
$('#narrative').fadeOut('fast');
$('#narrative').empty();
for(var i=1;i<=8;i++){
var numb = Math.floor(Math.random() * 4) + 1;
$("#sel"+i).val(numb).change();
}
});
答案 1 :(得分:2)
.val()
可以使用一个函数,这可以避免需要循环(因为jQuery会在内部为你做)。您还希望为所有#selN
个节点提供一个类来简化选择:
$('#test12').click(function() {
$('#narrative').fadeOut('fast').empty();
$('.sel').val(function () {
return Math.floor(Math.random() * 4) + 1;
}).change();
});
或者你可以写出完整的选择器:
$('#sel1, #sel2,...#sel8').val(...