为什么我的javascript函数不能在ajax.success之后调用?

时间:2015-01-14 22:40:11

标签: javascript jquery ajax

为什么在ajax成功后我的功能不起作用?

我有一个名为filter()的自定义函数,在头文件中定义为javascript文件。 然后我有一系列的jquery代码来动态地从服务器检索数据以填充选择框。我想在AJAX请求完成后调用filter(),因为filter()将管理填充选择框的选项。

$.ajax({
url: "checkersc2.php", //This is the page where you will handle your SQL insert
type: "GET",
data: values, //The data your sending to some-page.php
success: function (response) {
    $('#loading-image').css('display', 'none');
    $dropdownCondition.html(response);
    filter();
},
error: function () {
    console.log("AJAX request was a failure");
}
});

编辑:我的filter()代码有点长,@ http://jsfiddle.net/tongky20/re5unf7p/11/

1 个答案:

答案 0 :(得分:1)

看起来你有一个无效的dropdownCondition选择器。它可能在该行上失败并且从不调用过滤器。除非你定义了那个尝试将其更新为有效元素选择器的else变量,否则它会调用filter。类似的东西:

$('#dropdownCondition').html(response);

假设元素id是dropdownCondition。

全功能:

$.ajax({
url: "checkersc2.php", //This is the page where you will handle your SQL insert
type: "GET",
data: values, //The data your sending to some-page.php
success: function (response) {
    $('#loading-image').css('display', 'none');
    $('#dropdownCondition').html(response);
    filter();
},
error: function () {
    console.log("AJAX request was a failure");
}
});