Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript随机数循环不工作_Javascript_Jquery - Fatal编程技术网

Javascript随机数循环不工作

Javascript随机数循环不工作,javascript,jquery,Javascript,Jquery,我有以下函数,它应该返回我在输入字段中输入的长度的生成数。以下是一个例子: 当我点击按钮时,什么也没有返回,为什么 $(document).ready(function(){ var $group = "09", $group_l = $group.length, $size = $('#size').val(); function num_gen(num){ var output = ""; if(siz

我有以下函数,它应该返回我在输入字段中输入的长度的生成数。以下是一个例子:

当我点击按钮时,什么也没有返回,为什么

   $(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));
    }); 
});

你有两个错误。首先,您要在文本字段有值之前获取它的值。单击按钮时,您应该会得到此值。其次,ifsize>0{应该是ifnum>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()));
}); 

}

你说一个是什么意思?@Mohamed Yousef我已经更新了关于这个问题的代码。当框为空时,你在页面加载上设置$size时,它会生成一个开始的数字。变量$size和size不是同一个thingifsize>0{应该是ifnum>0{谢谢!如果大小为1,我如何防止它输出一个0的数字?你是什么意思?你希望它做什么的片段?例如:如果你在这里的输入字段中输入'1',输出的数字永远不应该是'0'。我该怎么做?你能用这个更新答案吗?也许试试这个->。根据w,举两个例子你想要什么。一个基于输入长度。另一个基于输入iteslf
$(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()));
});