一旦脚本运行,是否可以刷新div?
我正在尝试进行手动排名系统,其中列出了项目,但是当我更改输入中的数字时,以下运行
的jQuery
$('input.ranking').keyup(function(e) {
var thisClass = $(this).attr('class');
var substr = thisClass.split('-');
var pdID = substr[1];
var pdRank = $(this).val();
qString = 'pdID='+pdID+'&pdRank='+pdRank;
if(typeof timeout != 'undefined') clearTimeout(timeout);
timeout = setTimeout(function(){
//console.log(qString);
$.post('/assets/inc/set-rank.php', qString, function (data) {
//console.log(data);
}, "json");
}, 1000);
});
这不会刷新列表或页面。有人可以协助
答案 0 :(得分:2)
使用此:
$.post('/assets/inc/set-rank.php', function(data) {
$('.yourDivClass').html(data);
});
答案 1 :(得分:0)
你不需要设置超时,那只是......奇怪。你有正确的想法,只需要一些改进。逻辑如下:在keyup上发送一个ajax帖子然后获取结果并显示它。除非结果是JSON格式,否则不需要JSON。如果是,那么您将需要修改显示的数据。
非JSON:
$('input.ranking').keyup(function(e) {
var thisClass = $(this).attr('class');
var substr = thisClass.split('-');
var pdID = substr[1];
var pdRank = $(this).val();
qString = 'pdID=' + pdID + '&pdRank=' + pdRank;
$.post('/assets/inc/set-rank.php', qString, function(data) {
$('#display-div').html(data);
});
});
JSON:
$('input.ranking').keyup(function(e) {
var thisClass = $(this).attr('class');
var substr = thisClass.split('-');
var pdID = substr[1];
var pdRank = $(this).val();
qString = 'pdID=' + pdID + '&pdRank=' + pdRank;
$.post('/assets/inc/set-rank.php', qString, function(data) {
$('#display-div').html(data.results);
}, "json");
});