简化这个不必要的JavaScript

时间:2016-03-11 01:16:15

标签: javascript jquery

我知道必须有更好的方法来解决这个问题,但我无法弄清楚。

我需要生成8个不同的随机数,用作某些val的{​​{1}} s。以下脚本有效,但必须有一种更简单的方法。

selects

2 个答案:

答案 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(...