gpt4 book ai didi

javascript - 纯粹使用 javascript 使一个复选框启用所有其他复选框

转载 作者:太空宇宙 更新时间:2023-11-04 16:30:59 25 4
gpt4 key购买 nike

我真的很苦恼这个问题。我想为此使用 Jquery,但不幸的是这是不允许的。因此,为了进行一点练习,我需要让一个复选框选中以启用所有其他复选框。不,它不需要检查它们,只需启用它们即可。这是我的 HTML 代码:

<table border="0">
<tr>
<th id="thproductid"; colspan="2"; width="300px">Pizza</th>
<th id="thproductid"; colspan="2"; width="150px"><input type="checkbox" name="pizzamedium" id="checkpizzamedium" onclick="Activeer(this)"> Medium</th>
<th id="thproductid"; colspan="3"; width="50px">Aantal</th>
<th width="100px"></th>
<th id="thproductid"; colspan="2"; width="150px"><input type="checkbox" name="pizzalarge" id="checkpizzalarge" onclick="Activeer(this)"> Large</th>
<th id="thproductid"; colspan="3"; width="50px">Aantal</th>
<th width="100px"></th>
</tr>
<tr>
<th id="tdid">1</th>
<td id="tdproductid"> Margeritha</td>
<td id="tdprijsid"> &#8364 7,50</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzamedium" id="Margeritham" value="Pizza Margeritha M" onclick="" disabled></td>
<td><input type="button" id="plusknopmargerithaM" value=" + " onclick="" disabled></td>
<td><input type="button" id="minknopmargerithaM" value=" - " onclick="" disabled></td>
<td><input type="text" size="5" name="aantalpizzasmargerithaM" id="aantalpizzasmargerithaM" value="0" disabled></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input disabled type="button" id="bestelknopmargarithaM" value="Toevoegen" onclick=""></td>
<td id="tdprijsid"> &#8364 12,00</td>
<td id="tdcheckboxid"><input disabled type="checkbox" name="pizzalarge" id="Margerithal" value="Pizza Margeritha L" onclick=""></td>
<td><input disabled type="button" id="plusknopmargerithaL" value=" + " onclick=""></td>
<td><input disabled type="button" id="minknopmargerithaL" value=" - " onclick=""></td>
<td><input disabled type="text" size="5" name="aantalpizzasmargerithaL" id="aantalpizzasmargerithaL" value="0"></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input disabled type="button" id="bestelknopmargarithaL" value="Toevoegen" onclick=""></td>
</tr>
<tr>
<th id="tdid">2</th>
<td id="tdproductid"> Bolognaise</td>
<td id="tdprijsid"> &#8364 9,00</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzamedium" id="Bolognaisem" value="Pizza Bolognaise M" onclick="" disabled></td>
<td><input disabled type="button" id="plusknopbolognaiseM" value=" + " onclick=""></td>
<td><input disabled type="button" id="minknopbolognaiseM" value=" - " onclick=""></td>
<td><input type="text" disabled size="5" name="aantalpizzasbolognaiseM" id="aantalpizzasbolognaiseM" value="0"></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input type="button" disabled id="bestelknopbolognaiseM" value="Toevoegen" onclick=""></td>
<td id="tdprijsid"> &#8364 13,50</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzalarge" id="Bolognaisel" value="Pizza Bolognaise L" onclick="" disabled></td>
<td><input type="button" id="plusknopbolognaiseL" value=" + " onclick="" disabled></td>
<td><input type="button" id="minknopbolognaiseL" value=" - " onclick="" disabled></td>
<td><input type="text" size="5" name="aantalpizzasbolognaiseL" id="aantalpizzasbolognaiseL" value="0" disabled></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input type="button" id="bestelknopbolognaiseL" value="Toevoegen" onclick="" disabled></td>
</tr>
<tr>
<th id="tdid">3</th>
<td id="tdproductid"> Calzone</td>
<td id="tdprijsid"> &#8364 10,00</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzamedium" id="Calzonem" value="Pizza Calzone M" onclick="" disabled></td>
<td><input type="button" id="plusknopcalzoneM" value=" + " onclick="" disabled></td>
<td><input type="button" id="minknopcalzoneM" value=" - " onclick="" disabled></td>
<td><input type="text" size="5" name="aantalpizzascalzoneM" id="aantalpizzascalzoneM" value="0" disabled></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input type="button" id="bestelknopcalzoneM" value="Toevoegen" onclick="" disabled></td>
<td id="tdprijsid"> &#8364 16,50</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzalarge" id="Calzonel" value="Pizza Calzone L" onclick="" disabled></td>
<td><input type="button" id="plusknopcalzoneL" value=" + " onclick="" disabled></td>
<td><input type="button" id="minknopcalzoneL" value=" - " onclick="" disabled></td>
<td><input type="text" size="5" name="aantalpizzascalzoneL" id="aantalpizzascalzoneL" value="0" disabled></td>
<td id="tdtoevoegenknopid"; align="center" class="verstopt"><input type="button" id="bestelknopcalzoneL" value="Toevoegen" onclick="" disabled></td>
</tr>
<tr>
<th id="tdid">4</th>
<td id="tdproductid"> Pollo</td>
<td id="tdprijsid"> &#8364 10,00</td>
<td id="tdcheckboxid"><input type="checkbox" name="pizzamedium" id="Pollom" value="Pizza Pollo M" onclick="" disabled></td>
<td><input type="button" id="plusknoppolloM" value=" + " onclick..

这是我的 JS 代码:

function Activeer(adres, checkbox1id, checkbox2id, checkbox3id, checkbox4id, checkbox5id, checkbox6id, checkbox7id, checkbox8id) {
if(adres.checked) {
document.getElementById(checkbox1id).disabled = "";
document.getElementById(checkbox2id).disabled = "";
document.getElementById(checkbox3id).disabled = "";
document.getElementById(checkbox4id).disabled = "";
document.getElementById(checkbox5id).disabled = "";
document.getElementById(checkbox6id).disabled = "";
document.getElementById(checkbox7id).disabled = "";
document.getElementById(checkbox8id).disabled = "";
}
}

最佳答案

为所有复选框指定相同的类,然后为每个复选框指定一个 disabled 属性。*

编辑

*无需对 disabled 属性进行硬编码,演示现在能够以编程方式更改复选框的状态。

我添加了一个 JavaScript 解决方案并注释掉了 jQuery,如果您也想测试它,只需删除注释标记并将它们放在 JS 函数上即可。

var chxs = document.querySelectorAll('.chx');

var check = document.querySelector('input[type="checkbox"]');

check.addEventListener('change', function() {
var chxArr = Array.prototype.map.call(chxs, function(obj, i) {

if (obj.getAttribute('disabled')) {
return obj.removeAttribute('disabled');
} else {
return obj.setAttribute('disabled', true);
}
});
}, false);

详细信息在以下代码片段的来源中进行了注释:

片段

/*
$('.chx').on('change', function() {
$('.chx').removeAttr('disabled');
});
*/

// Collect all elements with class .chx into a NodeList
var chxs = document.querySelectorAll('.chx');

// Reference the first checkbox found
var check = document.querySelector('input[type="checkbox"]');

/*
| - Add an eventListener to the first checkbox
| - If a change event fires on the checkbox...
*/
check.addEventListener('change', function() {

/*
| - Convert the NodeList chxs into an array called chxArr with
| map and call methods.
| - On each iteration...
*/
var chxArr = Array.prototype.map.call(chxs, function(obj, i) {

/*
| - If the checkbox(obj) has the attribute "disabled"...
| -...remove the "disabled" attribute...
| - ...otherwise add the "disabled attribute to it.
*/
if (obj.getAttribute('disabled')) {
return obj.removeAttribute('disabled');
} else {
return obj.setAttribute('disabled', true);
}
// Lather, rinse, and repeat...
});
}, false);
<!doctype html>
<html>

<head>
<meta charset="utf-8">
<title>CHX</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>

<body>
<div>ENABLE/DISABLE ALL
<input type='checkbox'>
</div>

<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>
<input type='checkbox' class='chx'>
<br/>

</body>

</html>

关于javascript - 纯粹使用 javascript 使一个复选框启用所有其他复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820530/

25 4 0
文章推荐: css - 垂直对齐图标
文章推荐: javascript - Bootstrap PopConfirm 弹出窗口不显示在溢出 :hidden 的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com