Javascript随机数循环不起作用

时间:2014-11-21 16:43:12

标签: javascript jquery

我有以下函数应该在输入字段中返回生成的已输入长度的数字。以下是示例:http://jsfiddle.net/s91fb8jx/31/

当我点击按钮时,没有返回任何内容,为什么?

   $(document).ready(function(){
    var $group = "09",
        $group_l = $group.length,
        $size = $('#size').val();

    function num_gen(num){
        var output = "";

        if(size > 0){
            while(output.length < num) {
                output += $group[Math.floor(Math.random() * $group_l)];
            }
            return output;
        } else {
            return ""
        }
    }

    $('#btn').on('click', function(){
        console.log(num_gen($size));
    }); 
});

2 个答案:

答案 0 :(得分:0)

您有两个错误。首先,在获得值之前,您将获得文本字段的值。单击按钮时应该获得此值。其次,if(size > 0){应为if(num > 0){

$(document).ready(function(){
    var $group = "09",
        $group_l = $group.length;

    function num_gen(num){
        var output = "";

        if(num > 0){
            while(output.length < num) {
                output += $group[Math.floor(Math.random() * $group_l)];
            }
            return output;
        } else {
            return ""
        }
    }

    $('#btn').on('click', function(){
        console.log(num_gen($('#size').val())); // get the value here
    }); 
});

答案 1 :(得分:0)

试试这个

$(document).ready(function(){
  var $group = "09",
      $group_l = $group.length;

function num_gen(num){
    var output = "";

    if(num > 0){
        while(output.length < num) {
            output += $group[Math.floor(Math.random() * $group_l)];
        }
        return output;
    } else {
        return ""
    }
}

$('#btn').on('click', function(){
    console.log(num_gen($('#size').val()));
}); 

});