Récemment, j'ai rencontré un problème dans le projet. Lors du test de la fonction de sélection/désélection, lorsque la boîte parent est sélectionnée/désélectionnée pour la première fois, l'état entièrement sélectionné/non sélectionné de la sous-boîte peut être synchronisé, puis la boîte parent peut être cliquée, le sous-cadre ne répond plus. La structure générale du code original est la suivante :
'input[name="xxx[]"]').attr("checked"
Étape 1 Essayez la vague frontale :
<. 🎜>
function selectAll(obj){ if(obj.checked) { $('input[name="xxx[]"]').attr("checked", true); } else { $('input[name="xxx[]"]').removeAttr("checked"); } }
Étape 2. Après une recherche rapide sur Internet, j'ai constaté que ce problème est relativement courant. Parmi les personnes ayant rencontré ce problème, je devrais être à des milliers de kilomètres. J'en ai cliqué sur quelques-uns et j'ai dit en gros que l'utilisation de prop au lieu de attr pouvait résoudre le problème :
Étape 3. Il n'y a pas d'autre choix que d'abandonner JQuery... Essayez d'utiliser la méthode d'écriture js native, le code est le suivant :
function selectAll(obj){ var xxx = document.getElementsByName("xxx[]"); if(obj.checked) { for(var i = 0;i < xxx.length;i++) { xxx[i].checked = true; } } else { for(var i = 0;i < xxx.length;i++) { xxx[i].checked = false; } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!