2016-04-08 17 views
0

Farklı Tablo Kimlikleri olan iki HTML tablosum var ve tablolarıma satır eklediğimde her zaman 'afiş tablosu' tablosuna eklenirler. LeadSuccess işlevinin 'leaderboard' tablosuna yazması ve titalSucess 'titaltown' tablosuna yazması gerektiğini nasıl ayırt edebilirim?İki farklı HTML tablosuna satır eklemek için jquery işlevleri

============JQUERY=========== 
function leaderSuccess(results) { 
    var numItemsRead = results.length; 
    var $tableBody = $('<tbody></tbody>');   
    for (var i = 0 ; i < results.length ; i++) { 
     var leaderboard = results[i]; 
     var $row = $('<tr></tr>');      
     $row.append($('<td></td>').text(leaderboard.owner)); 
     $row.append($('<td></td>').text(leaderboard.points)); 
     $tableBody.append($row);      

    } 

    $('thead').after($tableBody);      


} 



function titalSuccess(results) { 
    var numItemsRead = results.length;  
    var $tableBody = $('<tbody></tbody>');   
    for (var i = 0 ; i < results.length ; i++) { 
     var titals = results[i]; 
     var $row = $('<tr></tr>');      
     $row.append($('<td></td>').text(titals.owner)); 
     $row.append($('<td></td>').text(titals.titals)); 
     $tableBody.append($row);      
    } 

    $('thead').after($tableBody);      



=========HTML============ 
<table id="leaderboard"> 
    <thead><tr><th>Owner</th><th>Points</th></tr></thead> 
    <tbody></tbody> 
</table> 

<table id="titletown"> 
    <thead><tr><th>Owner</th><th>Titals</th></tr></thead> 
    <tbody></tbody> 
</table>  

function leaderEventHandler(event) { 
     leaderBoard 
      .orderByDescending('points') 
      .read() 
      .then(leaderSuccess, failure); 
} 

function titalEventHandler(event) { 
     titals 
      .orderByDescending('titals') 
      .read() 
      .then(titalSuccess, failure); 
    }    
+1

İlgili işlevleri çalan masalarla ilişkili herhangi bir olay göremiyorum. Bu işlevleri ne tetikler? – DinoMyte

+0

Neden zaten var olan 'tbody' öğelerinde yazıyorsunuz? Sadece satırları ekleyemez mi? – isherwood

+0

@isherwood bu iyi bir soru, amaca yönelik olup olmadığından emin değildi, mevcut 'un içeriğini değiştirmek için daha uygun olur veya html bölüm –

cevap

1

Sadece bir masanın Bu o işlevler çağrılan nerede belli değil

function leaderSuccess(results) { 
    var numItemsRead = results.length; 
    var $tableBody = $('<tbody></tbody>');   
    for (var i = 0 ; i < results.length ; i++) { 
     var leaderboard = results[i]; 
     var $row = $('<tr></tr>');      
     $row.append($('<td></td>').text(leaderboard.owner)); 
     $row.append($('<td></td>').text(leaderboard.points)); 
     $tableBody.append($row);      

    } 

    $('#leaderboard thead').after($tableBody); // append to id="leaderboard" table     

} 

function titalSuccess(results) { 
    var numItemsRead = results.length;  
    var $tableBody = $('<tbody></tbody>');   
    for (var i = 0 ; i < results.length ; i++) { 
     var titals = results[i]; 
     var $row = $('<tr></tr>');      
     $row.append($('<td></td>').text(titals.owner)); 
     $row.append($('<td></td>').text(titals.titals)); 
     $tableBody.append($row);      
    } 

    $('#titletown thead').after($tableBody); // append to id="titletown" table          
} 
+0

Bu iyi görünüyordu, yine de düşündüm. afiş tablosu iyi görünüyor, ama titaltown masası boş .. – dmdwild2016

+0

Bu işlevleri çalıştırdığınız kodu dahil etmelisiniz –

+0

İki çağrı fonksiyonunu orijinal gönderime ekledim. function leaderEventHandler ve titalEventHandler – dmdwild2016

0

html eklerken kimliği belirtin, ancak ikinci argüman olarak bir kimlik geçebileceği:

function leaderSuccess(results, tableId) { 
    ... 
    $('#' + tableId).find('tbody').append(...); 
} 
+0

kodda, yorumlarda okunabilir görünmesini sağlamak için biçimlendirmede sorun yaşıyor, ancak her bir işlevin çağrıları, bir tablonun okunduğu ve tıklama aldığı role bağlı olarak, bir tabloyu okuyup geçtiği bir olaydaki başka bir işlevden geliyor. yer – dmdwild2016

İlgili konular