Heim > Web-Frontend > js-Tutorial > Hauptteil

Jquery-Lösung zum Auswählen aller und zum Umkehren der Auswahl sowie zum einmaligen Ausführen mit einem Klick_jquery

WBOY
Freigeben: 2016-05-16 15:45:01
Original
1135 Leute haben es durchsucht

Codeanforderungen: Die Verwendung von attr kann nur einmal ausgeführt werden, die Verwendung von prop kann die gesamte Auswahl und Umkehrauswahl perfekt realisieren, alle ausgewählten Elemente abrufen und den Text des ausgewählten Elements in eine Zeichenfolge umwandeln.

Lösung 1:

Der Code lautet wie folgt:

<html>
<head>
  <script src="jquery-1.11.1.min.js" type="text/javascript"></script>
</head>
<body>
  <input type="checkbox" name="chk_list[]" value="1" />1
  <input type="checkbox" name="chk_list[]" value="2" />2
  <input type="checkbox" name="chk_list[]" value="3" />3
  <input type="checkbox" name="chk_list[]" value="4" />4
  <input type="checkbox" name="chk_all" id="chk_all" />全选/取消全选
<script type="text/javascript">
  $("#chk_all").click(function(){
   // 使用attr只能执行一次
   $("input[name='chk_list[]']").attr("checked", $(this).attr("checked")); 
   // 使用prop则完美实现全选和反选
   $("input[name='chk_list[]']").prop("checked", $(this).prop("checked"));
    // 获取所有选中的项并把选中项的文本组成一个字符串
   var str = '';
   $($("input[name='chk_list[]']:checked")).each(function(){
   str += $(this).next().text() + ',';
   });
   alert(str);
  });
</script>
</body>
</html>
Nach dem Login kopieren

Zusammenfassung:

Für die inhärenten Attribute des HTML-Elements selbst verwenden Sie bei der Verarbeitung die prop-Methode.

Für unsere eigenen benutzerdefinierten DOM-Attribute von HTML-Elementen verwenden Sie bei der Verarbeitung die Methode attr.

Referenz http://www.jb51.net/article/62308.htm

Lösung 2:

Problembeschreibung:

$(".chooseall").click(function(){
 if($(".chooseall").attr("checked") == "checked"){
$("input[name='checkbox1']").removeAttr("checked","checked");
 console.log(1);
 }else{
 $("input[name='checkbox1']").attr("checked","checked");
 console.log(2);
 }
});
Nach dem Login kopieren

Der erste und zweite Klick des obigen Codes können die Auswahl- und Umkehrauswahlfunktionen realisieren, aber nach einem Mal funktioniert es nicht mehr.

Mit Ausnahme des ersten Kontrollkästchens werden die restlichen dynamisch von Ajax generiert. Hat das etwas damit zu tun? Console.log kann bei jedem Klick abwechselnd 1 und 2 ausgeben, der Code in der Mitte kann jedoch nicht ausgeführt werden.

Lösung:

Es ist nur ein Parameter „removeAttr“ erforderlich, „removeAttr("checked")
Es wird jedoch empfohlen, es durch

zu ersetzen
$(".chooseall").click(function(){
 if($(".chooseall").prop("checked") == true){
 $("input[name='checkbox1']").prop("checked", false);
 console.log(1);
 }else{
 $("input[name='checkbox1']").prop("checked", false);
 console.log(2);
 }
});
Nach dem Login kopieren

Oder prägnanter:

$(".chooseall").click(function(){
 var isChecked = $(this).prop("checked");
 $("input[name='checkbox1']").prop("checked", isChecked);
});
Nach dem Login kopieren

Das Obige ist die Jquery-Lösung zum Auswählen aller Elemente und zum Umkehren der Auswahl mit einem Klick. Ich hoffe, dass sie für alle hilfreich ist.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage