2016-11-03 5 views
0

Ich habe ein sehr frustrierendes Problem. Ich habe zwei Arten von Absätzen in einem div, ein in einem gebaut wie Sie unten sehenkann nicht Datenwert aus Absatz

  <div > 
      <table id="box"> 
       <thead> 
        <tr> 
         <td><p class="linkin" data-value="test22">test</p></td> 
        </tr> 

       </thead> 
       <tbody> 

       </tbody> 
      </table> 
      </div> 
     </div> 

Und geholt diejenigen wie folgt aus:

$('.menu').on('click', function(){ 
    $('#box').toggle('slide').show(); 
    $.ajax({ 
     url:'fetchsubmenu.php', 
     data : {nume : $(this).attr('data-value')}, 
     dataType : 'json', 
     success:function(data){ 
     console.log(data);// process your response 
     showObjects(data); 
     } 
    }); 
}); 


    function showObjects(obiecte){ 

    $('#box tbody').html(''); 
     for(var i=0; i<obiecte.length; i++){    //Functia care arata obiectele 
      var aparat = obiecte[i]; 
      $('#box tbody').append(getRow(aparat)); 
     } 
} 

function getRow(aparat){ 


    var row = '<tr>'+ 
     '<td>' + '<p class="linkin" data-value='+aparat.id+' >'+aparat.nume+'</p>' + '</td>'+ //functia care le aranjeaza 
     '</tr>'; 

     return row; 
} 

Das Problem ist, dass, wenn ich will die Daten- bekommen value-Attribut wie folgt aus:

$('.linkin').on('click',function(){ 
    $.ajax({ 
     url:'test.php', 
     dataType:'JSON', 
     data : {id : $(this).attr('data-value')}, 
     success:function(){ 
     console.log(); 
     alert('success'); 
     } 
     }); 
    }); 

die gerade fein in Absatz Werke gebaut, ich habe die Daten-Wert Attribut, aber die geholten Absätze funktionieren nicht, ich bin keine Attribute erhalten werden nicht in der Lage. Entschuldigung für mein Englisch.

Antwort

1

Dies passiert, weil das Event-Listening nur an Objekte gebunden ist, die beim Ausführen des Codes vorhanden sind. Das würde erklären, warum Objekte, die nach dem Ausführen des Codes abgerufen werden, nicht wie erwartet funktionieren. Dies kann durch einfaches Binden an das Dokument behoben werden.

$(document).on('click', '.linkin', function() { 
    $.ajax({ 
     url:'test.php', 
     dataType:'JSON', 
     data : {id : $(this).attr('data-value')}, 
     success:function() { 
      alert('success'); 
     } 
     }); 
}); 
+0

Funktioniert wie ein Charme! Danke vielmals! –

Verwandte Themen