javascript - Ajax 请求在第二次调用后不更新下拉菜单

标签 javascript jquery json ajax

我最近几天遇到了一个问题,所以我需要你的帮助。

我创建了一个 jQuery 脚本来更新现有的下拉菜单(根据返回的结果设置禁用或启用)。事实是它有效,但只能运行一次。在所有接下来的调用中更新与第一次调用时相同。

$('#date_input').change(function(){
    var date = document.getElementById('date_input').value;

    $.ajax({
        type: "POST",
        url: "check_files.php",
        data: { "date": date },
        cache: false,
        async: false,
        success: function(results) {
            file_list = jQuery.parseJSON(results);
            jQuery.each(file_list, function(i, val) {
                // $("#city_input option[value='" + val + "']").remove();
                $("#city_input option[value='" + val + "']").attr('disabled', 'true');
            });
        }
    });
    $('#date_input').datepicker('hide');
});

最佳答案

添加这一行:

$("#city_input option").removeAttr('disabled');

之前

jQuery.each(file_list, function(i, val) {

重置最后的更改。如果您错过了这一点,则不会再次启用旧的禁用选项

    success: function(results) {
        file_list = jQuery.parseJSON(results);
        $("#city_input option").removeAttr('disabled');
        jQuery.each(file_list, function(i, val) {
            // $("#city_input option[value='" + val + "']").remove();
            $("#city_input option[value='" + val + "']").attr('disabled', 'true');
        });
    }

关于javascript - Ajax 请求在第二次调用后不更新下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40976019/

相关文章:

javascript - 如何通过集合中的数组参数获取模型

javascript - 使用 jquery 检查哪个类被单击的有效方法

javascript - 通过 javascript 更改已知类的 css 属性

java - 如何使用 Google 的 Gson 从 JSON 响应中获取特定值?

javascript - mongodb 中的加密哈希函数

javascript - 在 javascript 的句子中打乱单词(编码恐怖 - 如何改进?)

jquery - 像 HTML 中的标签一样格式化输入中的字符串

javascript - 键值对 Json 转换并转换为 Javascript/Jquery 中的类

java - 使用 jackson 将双向 JPA 实体序列化为 JSON

javascript - 如何将 json 中数字数组的字符串版本转换为 javascript 中的数字数组