Javascript随机数循环不起作用
我有以下函数应该返回给我一个生成的数字的长度,我已在输入字段中输入。这里是例子:http://jsfiddle.net/s91fb8jx/31/Javascript随机数循环不起作用
当我点击按钮没有返回,为什么?
$(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));
});
});
尝试了这一点
$(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()));
});
});
谢谢!如果大小为1,如何防止输出数字为0 – gespinha 2014-11-21 17:01:34
你是什么意思?你正在寻找它的代码片段? – vernak2539 2014-11-21 17:03:39
例如:如果输入'1'在这里的输入字段 - http://jsfiddle.net/s91fb8jx/42/ - 输出数字不应该是'0'。我该怎么做?请你用这个更新答案? – gespinha 2014-11-21 17:12:29
您有两个错误。首先,您在获取文本字段的值之前获取其值。点击按钮后,您应该得到这个值。其次,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
});
});
你是一个什么意思?( – 2014-11-21 16:45:52
@ Mohamed-Yousef我已经更新了这个问题的代码,它是为一个数字 – gespinha 2014-11-21 16:47:47
创建一个数字,当你在页面加载时设置'$ size'时, 。变量'$ size'和'size'不一样 – Rhumborl 2014-11-21 16:48:13