2017-02-27 1 views
0

Ich möchte eine einfache Seitenumbruch Seite machen. Dies betrifft die Löschfunktion. Ich habe ein Kontrollkästchen, mit dem der Benutzer eine Zeile löschen kann. Kann ich wissen, wie Post/Get die ID der Zeile, wenn Benutzer auf den nächsten Link klicken? In meinem Fall wird die ID dupliziert, wenn der Benutzer auf das Kontrollkästchen klickt. Hier sind meine Codes,Wie ID auf Checkbox in Jquery zu buchen?

jQuery

var cbNew = [], 
cbAdd = []; 

function addId(checkBox){ 
    cbAdd = cbAdd.concat(checkBox); 
    console.log(cbAdd); 
} 

$(document).on("click", ".checkBox", function(){ 
    var cb = []; 
    $('.checkBox:checked').each(function(){ 
     cb.push($(this).val()); 
    }); 

    if(cb.length > 0) { 
     addId(cb); 
     $('#delete').fadeIn(); 
    } else { 
     $('#delete').fadeOut(); 
    } 
}); 

//Link on Next Page 
$(".nextPage").click(getFunct); 

function getFunct(e){ 
    e.preventDefault(); 
    var url = $(this).attr('href'), 
    row = getURLParameter(url, 'startrow'), 
    cbNew = cbNew; 
    getParam(row,url); 
} 

function getParam(param1,param2){ 
    $.ajax({ 
     type: "POST", 
     url: url, 
     data: 
     { 
      row : param1, 
      url : param2, 
      cbNew : cbNew 
     } 
    }).done(function(data){ 
     $('#result').html(data); 
     addId(cbNew); 
    }); 
} 

Dies ist der Ausgang, wenn ich console.log(cbAdd);

["25", "25", "26", "25", "26", "27"] 

auf der gleichen Seite auf mehrere Kontrollkästchen klicken Wenn ich 1 auf Seite ein Kontrollkästchen klicken und ein Checkbox auf Seite 2, es erhält die ID correcltlly

["25", "59"] 

Antwort

1

Sie verwalten zwei Arrays, eines erfasst alle Checkbox-Werte, dh cb, und verknüpft diese mit einem anderen Array namens cbAdd, hier werden Werte dupliziert.

können wie unten einzelnen Array cbAdd verwenden -

$(document).on("change", ".checkBox", function(){ 
    var value = $(this).val(); 
    var index = cbAdd.indexOf(value); 
    if ($(this).is(":checked")) { 
     cbAdd.push(value); //put value 
    } else { 
     cbAdd.splice(index, 1);//remove value 
    } 
    if(cbAdd.length > 0) { 
     $('#delete').fadeIn(); 
    } else { 
     $('#delete').fadeOut(); 
    } 
}); 
+0

Sie für die Hilfe @BhushanKawadkar danken. Du hast es geschafft! Darf ich über diese Zeile wissen 'var index = cbAdd.indexOf (value);'. Was tut es? – Amran

+0

'var index = cbAdd.indexOf (value);' sucht den Wert innerhalb von cbAdd und gibt seine Position in cbAdd zurück. Dies habe ich gewohnt zu wissen, ob Wert vorhanden ist oder nicht. 'indexOf' gibt die Position zurück, wenn der Wert vorhanden ist, und gibt -1 zurück, wenn sie nicht vorhanden ist. –