javascript的多个条件
请问如何在javascript中设置多个条件 当前,选中复选框后,当按钮满足第一个条件时,按钮将启用 如果第二个条件在选中任何复选框时也被选中,第三个条件在用户选择下拉列表时被选中,我将尝试添加另外两个条件 我尝试使用javascript的多个条件,javascript,jquery,Javascript,Jquery,请问如何在javascript中设置多个条件 当前,选中复选框后,当按钮满足第一个条件时,按钮将启用 如果第二个条件在选中任何复选框时也被选中,第三个条件在用户选择下拉列表时被选中,我将尝试添加另外两个条件 我尝试使用if(checkbox.checked==true)&&(进行测试,但得到一个控制台错误 第一个条件: <p style="color: red; font-weight: bold;">I have read and agree to the terms and co
if(checkbox.checked==true)&&(
进行测试,但得到一个控制台错误
第一个条件:
<p style="color: red; font-weight: bold;">I have read and agree to the terms and conditions
<input type="checkbox" id="termsChkbx" onchange="isChecked(this,'sub1')"/></p>
<span class='chosen'><input type='checkbox' name='CD[]' value='{$CD['CDID']}' title='{$CD['CDPrice']}' /></span>
<section id="placeOrder">
<h2>Place order</h2>
Your details
Customer Type: <select id="show" name="customerType" onchange="change(this)">
<option value="">Customer Type?</option>
<option value="ret">Customer</option>
<option value="trd">Trade</option>
</select>
提交按钮:
<p><input type="submit" name="submit" value="Order now!" id="sub1" disabled="disabled"/></p>
当我尝试反向选择时,提交按钮不会变为启用。如果我从上到下,它是有效的,但反过来不行
满足if语句条件后,按钮变为启用状态。如果我取消选择第二个或第三个条件中的任何一个,提交按钮仍处于启用状态。似乎第一个条件具有更高的优先级
如果
语句不正确,则中的条件语法不正确
而不是:
if (checkbox.checked === true) && ()
做:
您可以在第一个if
语句中使用&&
添加所有检查:
function isChecked(checkbox, sub1) {
var button = document.getElementById(sub1);
var checkboxes = document.querySelectorAll('input[name="CD[]"]');
var select = document.getElementById('show');
var atLeastOneCheckbox = false;
for (var index=0; index<checkboxes.length; ++index) {
if (checkboxes[index].checked) {
atLeastOneCheckbox = true;
break;
}
}
if (checkbox.checked && atLeastOneCheckbox && select.value) {
button.disabled = "";
} else {
button.disabled = "disabled";
}
}
功能已检查(复选框,子1){
var按钮=document.getElementById(sub1);
var复选框=document.querySelectorAll('input[name=“CD[]”]);
var select=document.getElementById('show');
var atlestonecheckbox=false;
对于(var index=0;indexThanks,只是问select.valud检查的是什么?对于atLeastOneCheckbox,它检查的是真实情况吗?哦,那是一个输入错误。我的意思是说select.value
.editedthankyou。它不起作用,所以我使用if语句,发现atLeastOneCheckbox不起作用。第二次输入错误,你需要执行 document.querySelector all
获取所有匹配项的列表,而不是document.querySelector
.edited检查它是否正常工作。我更新了底部的问题,发现了一些小错误。在第一张图片上,如果我反向,从下到上选择按钮将不会启用。在第二张图片上,如果我取消选择,但仍然选择“我已阅读并同意…”提交按钮仍将启用。
if (checkbox.checked === true && somethingElse === false && evenMore === true){
button.disabled = "";
}
function isChecked(checkbox, sub1) {
var button = document.getElementById(sub1);
var checkboxes = document.querySelectorAll('input[name="CD[]"]');
var select = document.getElementById('show');
var atLeastOneCheckbox = false;
for (var index=0; index<checkboxes.length; ++index) {
if (checkboxes[index].checked) {
atLeastOneCheckbox = true;
break;
}
}
if (checkbox.checked && atLeastOneCheckbox && select.value) {
button.disabled = "";
} else {
button.disabled = "disabled";
}
}