[英]I want to do when I click on one div then it hides other div
This code is working till div8 but doesn't work after div8 why is this happening please help me out and one more thing plz also explain it if you correct this code and this problem coming because this method doesn't work for more div sorry I know this is silly question.此代码在 div8 之前有效,但在 div8 之后无效,为什么会发生这种情况,请帮帮我,如果您更正此代码并且出现此问题,请再解释一件事,因为此方法不适用于更多 div 对不起,我知道这是个愚蠢的问题。 Thanks in advance
提前致谢
<div style="flex: 1">
<label class="ac_trigger" for="ac1">Sweets</label>
<input type="checkbox" class="ac_hide" onclick="showHide(this,'div1')" id="ac1" name="x1">
</div>
<div class="ac_container" id="div1">
{% for a,b in sweets.items %}
<table class="foods">
<tr>
<th id="{{b}}">{{b}}</th><td><input type="number" name="{{a}}" value="0" id="{{a}}"></td>
</tr>
</table>
{% endfor %}
</div>
..................so on to below one.............
<div style="flex: 1">
<label class="ac_trigger" for="ac35">Vegitables</label>
<input type="checkbox" class="ac_hide" onclick="showHide(this,'div35')" id="ac35" name="x1">
</div>
<div class="ac_container" id="div35">
{% for a,b in veg.items %}
<table class="foods">
<tr>
<th id="{{b}}">{{b}}</th><td><input type="number" name="{{a}}" value="0" id="{{a}}"></td>
</tr>
</table>
{% endfor %}
</div>
</div>
</div>
<div style="text-align: center;">
<button>Submit</button>
</div>
</form>
<script type="text/javascript">
function showHide(tagData, divId){
let allInputs = ['ac1','ac2','ac3','ac4','ac5','ac6','ac7','ac8','ac9','ac10','ac11','ac12','ac13','ac14','ac15','ac16','ac17','ac18','ac19','ac20','ac21','ac22','ac23','ac24','ac25','ac26','ac27','ac28','ac29','ac30','ac31','ac32','ac33','ac34','ac35'];
let divToChange = document.getElementById(divId);
divToChange.style.display = tagData.checked ? "block" : "none";
if(tagData.checked){
for(let i = 0 ; i = allInputs.length ; i++){
if(tagData.id !== allInputs[i]) {
let divToHideId = 'div'+allInputs[i].substr(allInputs[i].length - 1)
document.getElementById(divToHideId).style.display = 'none'
document.getElementById(allInputs[i]).checked = false
}
}
}
};
</script>
It seems like you are missing something there.好像你在那里遗漏了一些东西。
<script type="text/javascript">
function showHide(tagData, divId){
let allInputs = ['ac1','ac2','ac3','ac4','ac5','ac6','ac7','ac8','ac9','ac10','ac11','ac12','ac13','ac14','ac15','ac16','ac17','ac18','ac19','ac20','ac21','ac22','ac23','ac24','ac25','ac26','ac27','ac28','ac29','ac30','ac31','ac32','ac33','ac34','ac35'];
let divToChange = document.getElementById(divId);
divToChange.style.display = tagData.checked ? "block" : "none";
if(tagData.checked){
//TRY TO USE for(let i = 0;i<=allInputs.length;i++)
for(let i = 0 ; i = allInputs.length ; i++){
if(tagData.id !== allInputs[i]) {
let divToHideId = 'div'+allInputs[i].substr(allInputs[i].length - 1)
document.getElementById(divToHideId).style.display = 'none'
document.getElementById(allInputs[i]).checked = false
}
}
}
};
</script>
function which we required for this question i am very happy right now.....best regards for others function 我们需要这个问题我现在很高兴.....向他人致以最诚挚的问候
function showHide(evt, divId) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("ac_container");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("ac_hide");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(divId).style.display = "block";
evt.currentTarget.className += " active";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.