在执行json函数之前显示跨度

时间:2013-02-28 14:54:29

标签: jquery json toggle

我有一个搜索按钮,点击其中我想显示“搜索”文本,直到搜索完成。所以对于这个搜索文本,我有一个包含文本搜索的范围 现在单击按钮我无法显示跨度,因为控件似乎正在运行以完成json功能

<span id="searchWait" style="display:none">&nbsp;Searching...</span>

<script>
function getPromptSearchResults() {
    $('#searchWait').toggle();

    $.ajax({
        async: false,
        url: 'Application.aspx/getPromptSearchResults',
        data: JSON.stringify({
            some parameters
        }),
        success: function (data) {
            $('#searchWait').html('done');
            something
        },
        error: function (parameters) {
            something
        }
    });

    return something;
}
</script>

有趣的事实是,如果我在行$('#searchWait')之后发出警告.toggle(); 它显示文本搜索和警报,但如果我单击确定,警报将保留,直到功能成功完成。搜索完成后,span的html会正确更改。 无法理解IE 8中这种奇怪的行为

2 个答案:

答案 0 :(得分:0)

尝试使用show()代替toggle()

答案 1 :(得分:0)

我更喜欢将span css更改为切换依赖于jquery事件

function getPromptSearchResults() {

            $('#searchWait').css('display','block');

    $.ajax({
        async: false,
        url: 'Application.aspx/getPromptSearchResults',
        data: JSON.stringify({            some parameters        }),
        success: function (data) {
$('#searchWait').html('done')
            something        },
        error: function (parameters) {
            something        }
    });

    return something;
}