You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ajax在模态框中显示下拉选框(select)数据

问题解决:模态框无法展示JSON返回数据

核心问题分析

你的代码存在一个关键错误:已经通过dataType:"json"指定jQuery自动将服务器返回的JSON响应解析为JavaScript对象,此时再执行JSON.parse(data)会触发错误(因为data已经是对象,而非可解析的字符串),导致后续给下拉框、输入框赋值的代码无法执行。

修正后的代码

$.ajax({
    url:"catch.php",
    method:"GET",
    data:{user_id:user_id},
    dataType:"json",
    success:function(data)
    {
        $('#exampleModalLong').modal('show');
        // 用prop更可靠地设置下拉选项选中状态
        $("#ven option[value='"+data.vendor+"']").prop("selected", true);
        $('#cost').val(data.repair_cost);
    },
    // 添加错误回调,方便排查请求或解析异常
    error:function(xhr, status, error) {
        console.log("请求错误信息:", error);
        console.log("服务器返回内容:", xhr.responseText);
    }
});

额外排查建议

  • 打开浏览器控制台(F12),查看是否有JavaScript报错,这是快速定位问题的核心手段。
  • 在success回调中添加console.log(data),确认返回的data.vendor和data.repair_cost值是否符合预期。
  • 确保下拉选项的value值类型与data.vendor一致(比如同为字符串或数字),否则会出现匹配失败的情况。

内容的提问来源于stack exchange,提问作者Liton Mazumder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:55:16