gpt4 book ai didi

javascript - 一键单击即可用随机值填充多个输入

转载 作者:行者123 更新时间:2023-11-28 06:31:20 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery 为在线 Angular 色创建应用程序构建用户界面。我正在尝试通过一键单击随机生成 Angular 色统计数据。这是我第一次在重要的应用程序中使用 jQuery。

问题是,当我单击按钮时,表单内不会生成数字。如果我删除禁用的属性,它仍然不起作用,所以我知道这不是问题。

如果我要尝试一下,我会猜测 jQuery 中的 $() 不喜欢接受变量,但如果是这样的话,我不知道正确的方法是什么。在 jQuery 网站上单击一下即可填写多个表单的示例对于此目的没有用处,因为我需要确保单独调用 dice 函数来填写每个表单。

我的 JavaScript 代码如下所示:

$(document).ready(function(){

//stats as an array
stats = ["#smarts", "#rwp", "#driving", "#cool", "#bod", "#luck", "#looks", "#bonk"];

//roll dice function
function dice (x, n, y) {
var result = 0;
for(i = 0; i < x; i++) {
result = result + Math.floor((Math.random() * n) + 1);
}
result = result + y;
return result;
}

//roll each stat function
function rollStats(stats) {
for(stat in stats) {
$(stat).val(dice(1, 6, 0));
}
}

//on button click roll each stat
$("#stats").click(rollStats(stats));

});

作为引用,我的 html 表单的相关部分如下所示:

  <form class="create-teenager">
Smarts:
<input type="number" name="smarts" id="smarts" disabled />
<br/><br/>

Relationship with Parents:
<input type="number" name="rwp" id="rwp" disabled />
<br/><br/>

Driving:
<input type="number" name="driving" id="driving" disabled />
<br/><br/>

Cool:
<input type="number" name="cool" id="cool" disabled />
<br/><br/>

Bod:
<input type="number" name="bod" id="bod" disabled />
<br/><br/>

Luck:
<input type="number" name="luck" id="luck" disabled />
<br/><br/>

Looks:
<input type="number" name="looks" id="looks" disabled />
<br/><br/>

Bonk:
<input type="number" name="bonk" id="bonk" disabled />
<br/><br/>

<button id="stats">Roll Stats</button>
</form>

最佳答案

首先,我建议您将按钮从表单中拉出或防止默认。

试试这个 fiddle .

<form class="create-teenager">
Smarts:
<input type="number" name="smarts" id="smarts" disabled />
<br/><br/>

Relationship with Parents:
<input type="number" name="rwp" id="rwp" disabled />
<br/><br/>

Driving:
<input type="text" name="driving" id="driving" />
<br/><br/>

Cool:
<input type="number" name="cool" id="cool" />
<br/><br/>

Bod:
<input type="number" name="bod" id="bod" disabled />
<br/><br/>

Luck:
<input type="number" name="luck" id="luck" disabled />
<br/><br/>

Looks:
<input type="number" name="looks" id="looks" disabled />
<br/><br/>

Bonk:
<input type="number" name="bonk" id="bonk" disabled />
<br/><br/>

滚动统计

并尝试这个脚本

$(document).ready(function(){

//stats as an array
stats = ["#smarts", "#rwp", "#driving", "#cool", "#bod", "#luck", "#looks", "#bonk"];

//roll dice function
function dice (x, n, y) {
var resultNumber = 0;
for(i = 0; i < x; i++) {
resultNumber = Math.floor((Math.random() * n) + 1) + y;
}
console.log(resultNumber);
return resultNumber;
}

//on button click roll each stat
$("#stats").click(function() {
for(stat in stats) {
$(stats[stat]).val(dice(1, 6, 0));
}
});
});

关于javascript - 一键单击即可用随机值填充多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34687547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com