2012-10-22 42 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

相关问题