我有一个 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>
如果我没有提供足够的信息来获取所需的帮助,请告诉我。
最佳答案
使用.text()
代替.append()
:
$count.text(output[index]);
顾名思义,.append()
将内容添加到容器的末尾。而 .text()
设置容器中显示的文本,覆盖任何现有文本。
实际上,.html()
的行为比 .text()
更像 .append()
,但我不这么认为建议使用 .html()
除非您实际设置 .html()
。既然你说结果是数字,那么 .text()
更好。
关于javascript - 每个表格单元格仅允许一个查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020038/