2016-11-10 38 views
0

這個問題讓我想瘋了!這裏是情況,我有一個來自我的AJAX post方法的回調數據,我需要傳遞給不同的HTML表格,這裏有7個不同的表格。我必須實現從控制器接收我的數據與不同objects.Earlier今天我做了這是偉大的工作我的第一個表,但是當我想從價值Ajax回調數據表都再次傳遞到不同的表使用不同的數據即使身份證'不同,即使第二張身份證上沒有身份證,也會收到相同的價值......老實說這讓我發瘋。HTML表的接收薩姆斯價值形態AJAX回調

這裏是我的AJAX POST方法與回調數據:

$(document).ready(
    function() { 
     $('#call_back_btn').click(function() { 
      $.post("/app_dev.php/AjaxSearch", { 
        person_name: $('#input_text').val() 
       }, 
       function(data) { 

        objConnectors = data[0]; 
        objContacts = data[1]; 
        var ParseConnector = JSON.parse(objConnectors); 
        var ParseContacts = JSON.parse(objContacts); 
        var cycles; 

        for (cycles = 0; cycles < ParseConnector.length; cycles++) { 
        $('tbodyCONNECTOR').append('<tr>' + ParseConnector[cycles].id + '</td><td>' + ParseConnector[cycles].n_c + '</td><td>' + ParseConnector[cycles].description + '</td></tr>'); 
        } 

        for (cycles = 0; cycles < ParseContacts.length; cycles++) { 
        $('tbodyCONTACT').append('<tr>' + ParseContacts[cycles].id + '</td><td>' + ParseContacts[cycles].n_c + '</td><td>' + ParseContacts[cycles].description + '</td></tr>'); 
        } 
       } 

正如你可以看到有附加不同

下面是HTML:

div class="bs-example" data-example-id="panel-without-body-with-table"> 
    <div class="panel panel-default"> 
     <div class="panel-heading">Available connectors</div> 
     <table id="Connectors"> 
      <thead> 
      <tr> 
       <th>12NC</th> 
       <th>Description</th> 
      </tr> 
      </thead> 
      <tbody id="tbodyCONNECTOR"> 

      </tbody> 

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

<div class="bs-example" data-example-id="panel-without-body-with-table"> 
    <div class="panel panel-default"> 
     <div class="panel-heading">Available Contacts</div> 
     <table id="Contacts"> 
      <thead> 
      <tr> 
       <th>12NC</th> 
       <th>Description</th> 
      </tr> 
      </thead> 
      <tbody id="tbodyCONTACT"> 

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

這裏有兩個表。 ,我得到的永遠是第一位的值,因此值:ParseConnector 我非常感謝所有幫助!

+3

你缺少#在你的選擇 – juvian

回答

2
$('tbodyCONNECTOR').append("..."); 

$('tbodyCONTACT').append("..."); 

缺少哈希符號。

嘗試用$('#tbodyCONNECTOR').append("...");

也是一樣tbodyCONTACT

+0

謝謝男人,也許這是什麼是今天最愚蠢的問題:D或它剛剛結束的一天,我出咖啡因..... –

+0

沒問題是愚蠢的。這發生在每個人都在花費大量時間注視着屏幕。乾杯! –

2

正如我不能發表評論,我只是想指出的是,經過短暫地看着它,不應該這些行

$('tbodyCONNECTOR').append('<tr>' + ParseConnector[cycles].id + '</td><td>' + ParseConnector[cycles].n_c + '</td><td>' + ParseConnector[cycles].description + '</td></tr>'); 

$('tbodyCONTACT').append('<tr>' + ParseContacts[cycles].id + '</td><td>' + ParseContacts[cycles].n_c + '</td><td>' + ParseContacts[cycles].description + '</td></tr>'); 

$('#tbodyCONNECTOR').append('<tr>' + ParseConnector[cycles].id + '</td><td>' + ParseConnector[cycles].n_c + '</td><td>' + ParseConnector[cycles].description + '</td></tr>'); 
$('#tbodyCONTACT').append('<tr>' + ParseContacts[cycles].id + '</td><td>' + ParseContacts[cycles].n_c + '</td><td>' + ParseContacts[cycles].description + '</td></tr>'); 

我敢肯定你剛纔錯過了這一點,但是當選擇一個帶有ID的元素時,需要這些元素,而在使用一個類的時候需要這些元素。代替#(CSS想到的)

2

你是 - 正如評論已經提及 - 在選擇前失蹤的#

除此之外,如果你想添加的完全相同的內容既可以使用一個迴路,並使用此選擇#tbodyCONNECTOR, #tbodyCONTACT

for (cycles = 0; cycles < ParseConnector.length; cycles++) { 
    $('#tbodyCONNECTOR, #tbodyCONTACT').append('<tr>' + ParseConnector[cycles].id + '</td><td>' + ParseConnector[cycles].n_c + '</td><td>' + ParseConnector[cycles].description + '</td></tr>'); 
} 

或者添加一個普通類兩種tbody

一般來說,你應該避免一遍又一遍在循環再次查詢相同的元素,因此它會更好,把它寫這種方式:

var tbodyElements = $('#tbodyCONNECTOR, #tbodyCONTACT'); 

for (cycles = 0; cycles < ParseConnector.length; cycles++) { 
    tbodyElements.append('<tr>' + ParseConnector[cycles].id + '</td><td>' + ParseConnector[cycles].n_c + '</td><td>' + ParseConnector[cycles].description + '</td></tr>'); 
} 
1

檢查使用jQuery ID Selector ('#id')的,因爲你缺少在選擇器中的#

還要注意,而不是使用指向選擇表的tbody

$('#tbodyCONNECTOR') 
$('#tbodyCONTACT') 

您應該使用ID Selector ('#id')指向表,然後得到一個表的tbody元素:

$('#tableId > tbody') 

代碼:

$('#Connectors > tbody') 
$('#Contacts > tbody')