如何使用jquery在ajax查询后清除文本字段?

时间:2011-09-22 20:20:26

标签: jquery ajax

我正在使用这个jquery函数来执行ajax查询:

$("#add").click(function() {    
   val1 = $('#add_lang_level').val();
   val = $('#add_lang').val();
   listitem_html = '<li>';
   listitem_html += '<span id="lang_val">' + val + '</span> <strong>('+ val1 + '/100)</strong>';
   $.ajax({ url: 'addremovelive.php', data: {addname: val,addlevel: val1}, type: 'post'});
   listitem_html += '<a href="#" class="remove_lang"> <span class="label important">Remove</span></a>'
   listitem_html += '</li>';
    $('#langs').append(listitem_html);
});

我希望在ajax查询完成后清除某些文本字段的内容,但不知道如何。谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

您可以提供success回调函数作为ajax函数的参数。成功完成异步调用后将执行回调:

$.ajax({ 
    url: 'addremovelive.php', 
    data: {addname: val,addlevel: val1}, 
    type: 'post',
    success: function() {
        //Do whatever you need to...
        $("#yourTextField").val("");
    }
});

请注意,如果您只是使用ajax来电,那么您也可以使用速记post方法:

$.post("addremovelive.php", { 
    addname: val, addlevel:val1 
}, 
function() { 
    //Callback 
});

检查ajaxpost方法的文档,以了解每种方法可用的选项。

答案 1 :(得分:1)

$("#add").click(function() {    
   val1 = $('#add_lang_level').val();
   val = $('#add_lang').val();
   listitem_html = '<li>';
   listitem_html += '<span id="lang_val">' + val + '</span> <strong>('+ val1 + '/100)</strong>';
   $.ajax({ url: 'addremovelive.php', data: {addname: val,addlevel: val1}, type: 'post',
   success: function(d) {
     $('#add_lang_level').val('');
     $('#add_lang').val('');
   }
});
   listitem_html += '<a href="#" class="remove_lang"> <span class="label important">Remove</span></a>'
   listitem_html += '</li>';
    $('#langs').append(listitem_html);
});

你可以这样做,我添加了匿名函数,成功时会调用它。

答案 2 :(得分:0)

尝试添加成功回调并在那里进行清算:

$.ajax({ 
   url: 'addremovelive.php',
   data: {addname: val,addlevel: val1},
   type: 'post',
   success: function(){
      //this function is a callback that is called when the AJAX completes
   }
});