使用AJAX不会重新显示HTML文本

时间:2015-03-17 00:03:52

标签: jquery ajax

我尝试使用以下代码显示然后淡出一些文字:

$('#submit_new_player_order').click(function(e){
//some data to define data_to_send      
$.post(ajaxurl, data_to_send, function() {
    alert('it is in here');
    $('#fade_in_text_sort').html('Your sort order is being saved!');
})
.done(function() {
    alert('done');
    $('#fade_in_text_sort').html('We saved your data!').delay(2000).fadeOut('fast');
})
});

首次点击提交按钮时,这样可以正常显示文本。当我再次点击提交时,我会收到两个警报但文本永远不会再显示。由于我使用淡出,我认为它会再次显示它,但它不会这样做。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

第一次完成ajax时,你隐藏(fadeOut)元素,所以下次你需要显示它(再次隐藏它之前):

$('#fade_in_text_sort').html('We saved your data!').show(0).delay(2000).fadeOut('fast');

以下是一个按钮示例:



$('#submit_new_player_order').on('click', function(e) {
    $('#fade_in_text_sort').html('We saved your data!').show(0).delay(2000).fadeOut('fast');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="fade_in_text_sort"></p>
<button id="submit_new_player_order">Submit new order</button>
&#13;
&#13;
&#13;