Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 检查if语句中是否选中复选框_Javascript_Html_Javascript Events - Fatal编程技术网

Javascript 检查if语句中是否选中复选框

Javascript 检查if语句中是否选中复选框,javascript,html,javascript-events,Javascript,Html,Javascript Events,如何检查if语句中是否选中了文本框。在我的示例中,我正在检查是否选择了“否”和“伊利”,同时勾选了复选框3或4,然后需要自动勾选复选框2 JavaScript代码: if(likeShield.value == "noShield" && chooseShield.value == "ely" && (document.getElementById("cb3").checked == true || docum

如何检查if语句中是否选中了文本框。在我的示例中,我正在检查是否选择了“否”和“伊利”,同时勾选了复选框3或4,然后需要自动勾选复选框2

JavaScript代码:

if(likeShield.value == "noShield" && chooseShield.value == "ely" &&  
            (document.getElementById("cb3").checked == true ||
             document.getElementById("cb4").checked == true))
{
    document.getElementById("cb2").checked=true;
}
上述代码不起作用。我怎样才能解决这个问题

HTML代码:

<html>
<head>
<script type="text/javascript" src="myJavascript.js"></script>
</head>
<body>

<select id="likeShield" onchange="showTicks()">
   <option value="select1">Select</option>
   <option value="yesShield">Yes</option>
   <option value="noShield">No</option>
</select>

<select id="chooseShield" onchange="showTicks()">
   <option value="select1">Select</option>
   <option value="arc">Arcane</option>
   <option value="ely">Elysian</option>
<option value="spec">Spectral</option>
<option value="anylist">Choose any</option>
</select>

<table border = "1">
<tr>
   <th> tickbox </th>
   <th> shield parts </th>
   <th> description </th>
   <th> cost </th>
</tr>
<tr>
   <td><input type="checkbox" id="cb1"></td>
   <td> arc sigil </td>
   <td> Large magic part </td>
   <td> 5m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb2"></td>
   <td> arc shield </td>
   <td> A extremely powerful magic shield </td>
   <td> 60m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb3"></td>
   <td> arc special item </td>
   <td> special element </td>
   <td> 10m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb4"></td>
   <td> elysian sigil  </td>
   <td> A sigil found by dragons </td>
   <td> 50m </td>
</tr>   
<tr>
   <td><input type="checkbox" id="cb5"></td>
   <td> elysian shield </td>
   <td> A extremely powerful ranging shield </td>
   <td> 40m </td>
</tr>   
<tr>
   <td><input type="checkbox" id="cb6"></td>
   <td> elysian special item </td>
   <td> A special attack attached to shield </td>
   <td> 25m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb7"></td>
   <td> spectral sigil  </td>
   <td> easily obtainable from goblins </td>
   <td> 4m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb8"></td>
   <td> spectral shield </td>
   <td> Impressive stats </td>
   <td> 15m </td>
</tr>
<tr>
   <td><input type="checkbox" id="cb9"></td>
   <td> spectral special item </td>
   <td> Does double damage </td>
   <td> 30m </td>
</tr>
</table>
</body>
</html> 

挑选
对
不
挑选
神秘的
极乐世界的
幽灵似的
任意选择
滴答声
屏蔽部件
描述
成本
弧形标志
大魔术部分
5米
电弧屏蔽
非常强大的魔法盾
60米
arc特殊项目
特殊元素
10米
极乐世界符号
被龙发现的标志
50米
极乐世界之盾
极为强大的测距盾牌
40米
极乐世界特别项目
附在盾牌上的特殊攻击
25米
光谱信号
很容易从地精那里得到
4米
光谱屏蔽
令人印象深刻的数据
15米
光谱特别项目
造成双重伤害
30米
代码中没有这样的元素

也许你的意思是:

document.getElementById("cb2").checked=true;

任何关于你做错了什么的进一步探索都需要一个测试用例,显示你执行条件语句的完整上下文。目前还不清楚它是在事件处理程序中,还是在函数调用中,或者是什么…

如果要在更新复选框时更新复选框,则必须侦听更改事件:

document.onload = function(){
var likeShield = document.getElementById("likeShield");
var chooseShield = document.getElementById("chooseShield");
var cb3 = document.getElementById("cb3");
var cb4 = document.getElementById("cb4");
function checkchecks() {
    if (
        likeShield.value=="noShield" && chooseShield.value == "ely"
        && (cb3.checked || cb4.checked)
    ) {
        document.getElementById("cb2").checked=true;
    }
}
likeShield.onchange=checkchecks;
chooseShield.onchange=checkchecks;
cb3.onchange=checkchecks;
cb4.onchange=checkchecks;
}

包括相关的标记以及“不起作用”的确切内容?你有错误吗?条件是否总是
false
?您是否像字段一样准备了变量?“哟,老兄,我听说您喜欢复选框,所以我在复选框中设置了复选框,这样您可以在您选中时检查您的复选框是否在if语句中被选中…”当我勾选复选框3或4时,复选框2不会自动检查这类事情是否包含在基本调试中,真的。Woops抱歉。只是换了一下,可惜还是不行,你没听说吗?Crowdsoucing to StackOverflow是基本调试的新趋势。@user1832421:如果你想报告程序的行为,请习惯于说“它不工作”。说这句话完全没用。@JanDvorak:噢,我听说:(Lazy new Generation ID
checkBox2
的元素是什么?@user1832421我在回答中添加了一个演示。您好,上面的内容有用吗?我尝试了,但没有用。您是否检查了链接?如果您将这两个元素设置为正确的值,并选中框3或框4,则框2会自动被选中。我想这就是y你试过了。是的,它对你有用。谢谢。但是我应该把document.onload部分放在js文件的哪里?
document.onload = function(){
var likeShield = document.getElementById("likeShield");
var chooseShield = document.getElementById("chooseShield");
var cb3 = document.getElementById("cb3");
var cb4 = document.getElementById("cb4");
function checkchecks() {
    if (
        likeShield.value=="noShield" && chooseShield.value == "ely"
        && (cb3.checked || cb4.checked)
    ) {
        document.getElementById("cb2").checked=true;
    }
}
likeShield.onchange=checkchecks;
chooseShield.onchange=checkchecks;
cb3.onchange=checkchecks;
cb4.onchange=checkchecks;
}