2017-02-11 5 views
0

Mein Problem ist, wenn Sie eines der Kontrollkästchen (Zahlungsempfänger) aktivieren - eine andere Zeilen mit derselben Spalte Kontrollkästchen sollte deaktiviert/aktiviert sein. Problem 1: Die Kontrollkästchen bei der ersten Auswahl können nicht deaktiviert/aktiviert werden. Arbeiten Sie jedoch mit einem zweiten Klick, wenn Sie ein beliebiges Kontrollkästchen auswählen. Problem # 2: Wenn ich die Seite erneut lade, wird der Wert mit dem Kontrollkästchen, das zuvor überprüft wurde, als deaktiviert mit aktiviert angezeigt. Ich brauche es deaktivieren mit deaktiviert.Die Kontrollkästchen bei der ersten Auswahl deaktivieren/aktivieren (CLICK) - Jquery

Unten ist mein Code:

Funktion onPayeeChkChange() {

jQuery(document).ready(function() { 

    $('#tblHousehold tr td#tdpayee input:checkbox').click(function(){ 

     var $inputs = $('#tblHousehold tr td#tdpayee input:checkbox')        
      if($(this).is(':checked')){ 
       $inputs.not(this).prop('disabled',true); // <-- disable all but checked one 
        }else{ 
         $inputs.prop('disabled',false); // <-- 
         } 

         }); 
          }); 

         } 

nicht sicher, was ich verpasst haben, Ihre schnelle Antwort würde sehr geschätzt werden. Vielen Dank...!!!

+1

Versuchen Onchange statt klicken Sie auf das Änderungsereignis statt klicken – shadymoses

+0

geändert mit ... aber nicht hilft. –

+0

Gut funktioniert mit IE nicht Chrome auf Erstem Klick In meinem Code, gibt es etwas, was ich verpasst habe, aber ich habe nur unter eine Aussage in IF und eine Aussage in anderen ... siehe unten ,, if ($ (this). is (': checked')) { $ inputs.not (this) .attr ('checked', false); $ inputs.not (this) .prop ('deaktiviert', true); $ (this) .attr ('checked', true); } else { $ inputs.removeAttr ("deaktiviert"); –

Antwort

0

Ist das wonach Sie suchen?

Hinweis: Wenn Sie ein Kontrollkästchen deaktivieren, können Sie es später nicht mehr verwenden. Wenn Sie es deaktivieren müssen, fügen Sie einfach .prop('disabled', true) innerhalb der Schleife hinzu.

$(function() { 
 
    $(':checkbox').click(function() { 
 
    \t var input = $(this), td = input.closest('td'), table = td.closest('table'); 
 
     // get index of the cell relative to its parent row 
 
     var i = td.index(); 
 
     // loop through each row 
 
     $('tr', table).each(function() { 
 
    \t  // uncheck the row's ith cell's checkbox 
 
    \t  $('td:eq(' + i + ') :checkbox', this).not(input).prop('checked', false); 
 
     }); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <input type="checkbox"> 
 
    </td> 
 
    <td><input type="checkbox"></td> 
 
    </tr> 
 
    <tr> 
 
    <td><input type="checkbox"></td> 
 
    <td><input type="checkbox"></td> 
 
    </tr> 
 
    <tr> 
 
    <td><input type="checkbox"></td> 
 
    <td><input type="checkbox"></td> 
 
    </tr> 
 
</table>

Verwandte Themen