gpt4 book ai didi

javascript - 复选框被选中时的 if 语句?

转载 作者:行者123 更新时间:2023-12-03 05:44:36 25 4
gpt4 key购买 nike

这里有一个小问题,我正在尝试执行一个巨大的计算,该计算将在一个值范围内随机确定一些内容。我希望用户自己确定这个范围,并让他选择是要添加最大值还是最小值。基本上,现在一切正常,但我试图在开头放置一个“if”语句来检查复选框是否被选中,以便提示正确的问题。问题是,我现在编写的方式使得无法读取该程序:它根本不执行任何操作。显示的错误消息是:

Uncaught TypeError: Cannot read property 'checked' of null(…).

我尝试了一些方法,当我自己设置值时,它起作用了,所以问题实际上是“if”语句。这是我的全局变量和不起作用的部分:

    var maxdesiredvalue, mindesiredvalue;

if (document.getElementById("min").checked == false) {
mindesiredvalue = 0.00
}
else {
mindesiredvalue = window.prompt("Valeur minimale désirée:");
mindesiredvalue = parseInt(mindesiredvalue)}

if (document.getElementById("max").checked == false) {
maxdesiredvalue = 9999999.99
}
else {
maxdesiredvalue = window.prompt("Valeur maximale désirée:");
maxdesiredvalue = parseInt(maxdesiredvalue)}

function RandWeap() {
/*Huge function here determining a value and repeating until it
is between mindesiredvalue and maxdesiredvalue*/
}

复选框的写法如下:

<body>
<form>
<i> Press F5 to clear or to get 1 random weapon </i> <br> <br>
Min price: <input type="checkbox" id="min"> <br>
Max price: <input type="checkbox" id="max"> <br> <br>
<button type="button" onclick="RandWeap()">Add a random weapon to list</button>
</form>
</body>

知道如何让它工作吗?

谢谢!

编辑

好吧,基本上如果我们能给出一个类似但真正简化的例子,它看起来像这样:

<html>
<meta charset="utf-8">
<script type="text/javascript" language="JavaScript">

var desiredResult;

desiredResult = (parseInt(window.prompt("Valeur désirée")))

function dice(){

var result, missed;

result = (Math.floor(Math.random() * 6) + 1)

if (desiredResult == result) {document.body.innerHTML += result}
else if (desiredResult != result) {dice()}

}

window.onload = dice

</script>
<body>
Choose value: <input type="checkbox" id="choose"> <br> <br>
<button type="button" onclick="dice()">Roll dice!</button>
</body>
</html>

所以我们提示一个想要的值,然后重复这个函数,直到它是我们想要的值。现在,应该对此代码进行哪些编辑,以便仅在选中复选框时才提示所需的值?那么,onload当然不会检查,所以只会输入随机值。然后,当我们单击按钮时,它会重复此步骤,但如果我们选中之前的框,它会提示所需的值。我不确定是否清楚......但基本上这就是我想知道的。如果有人知道我需要添加的代码,那就太好了!

最佳答案

您可以使用事件,例如onclick

使用点击事件的纯 JavaScript 示例:

var isCheckedWithGlobalVariable = false;
document.getElementById('myInput').onclick = function() {
if (this.checked == true) {
// the element is checked
isCheckedWithGlobalVariable = true;
}
};

也许您需要在多个元素上使用它,因此您可以将 querySelectorAllfor 一起使用。示例:

var isCheckedWithGlobalVariable = false;
var elements = document.querySelectorAll('input[type=checkbox]');
for (var i = 0; i < elements.lenght; i++) {
elements[i].onclick = function() {
if (this.checked == true) {
// checked
isCheckedWithGlobalVariable = true;
}
};
}

在 jQuery 上,您可以将 :checked 选择器与 click 事件一起使用:

var isCheckedWithGlobalVariable = false;
$('#myInput').click(function() {
if ($(this).is(':checked')) {
// checked
isCheckedWithGlobalVariable = true;
}
})

或者

var isCheckedWithGlobalVariable = false;
$('#myInput:checked').click(function() {
// only if it is checked
isCheckedWithGlobalVariable = true;
})

或者使用多个元素:

var isCheckedWithGlobalVariable = false;
$('input').click(function() {
if ($(this).is(':checked')) {
// this element is checked
isCheckedWithGlobalVariable = true;
}
})

关于javascript - 复选框被选中时的 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40382194/

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