2012-10-22 75 views
0

我有一個jQuery腳本訪問數據庫並返回一個數值結果並將結果寫入表格單元格。這個腳本在頁面加載時運行,而且在下拉菜單改變時運行。我希望能夠限制每個表格單元的1個結果。每個表格單元格只允許有一個查詢結果

現在,當頁面加載時,它將結果寫入單元格,當下拉菜單更改時,它只是將新結果添加到單元格中,而不是替換它。

我有相當多的搜索試圖找出如何做到這一點,不能拿出任何東西。有人能幫我嗎?

這裏是jQuery的:

$(document).ready(function(){ 

$('.typeval').change(function(){ 
    var movement = $(this).val(); 
    var client_id = $(this).parent().siblings().find('.clientval').val(); 
    var class_id = <? echo $class_id; ?>; 
     $count  = $(this).parents('tr').find('label.count'); 

$.ajax({ 
    type: "POST", 
    url: "movement_count.php", 
    data: {movement:movement, client_id:client_id, class_id:class_id}, 
    dataType: "json", 
    async: false, 
    success:(function(output) {  

     $.each(output, function(index, value){ 
    //alert(value); 
    $count.append(output[index]); 
    }); // each 
    })  
}) // ajax 

}).change(); // .typeval 

}); // document 

這裏是表格單元格,我只想一次顯示一個結果。

<td><label class="count">5</label></td> 

請讓我知道,如果我沒有提供足夠的信息需要援助。

回答

2

使用.text()而不是.append()

$count.text(output[index]); 

正如它的名字意味着,.append()將內容添加到容器的末尾。而.text()設置容器中顯示的文本,覆蓋任何現有的文本。

其實,.html(),更像.append().text()做,但我不建議使用.html()除非你實際上是設置.html()。既然你說結果是數字,.text()更好。

+0

用於比我的滑動解決方案+1) –

+0

傑出!這麼簡單,但我找不到任何可能導致我這樣做的事情。我想這對所有這些都是非常綠色的。 – Colbyd

0

嘗試更新AJAX調用添加新結果之前清除內容:

$.ajax({ 
    type: "POST", 
    url: "movement_count.php", 
    data: {movement:movement, client_id:client_id, class_id:class_id}, 
    dataType: "json", 
    async: false, 
    success:(function(output) {  

     $.each(output, function(index, value){ 
      //alert(value); 

      $count.html(''); // Clear current content 

      $count.append(output[index]); // Append new content 

     }); // each 
    })  

})// AJAX

相關問題