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

JQuery函数调用后如何为select字段设置数据库返回参数值?

问题解决:下拉框加载选项后无法自动选中对应值

问题原因

postaviVrednost() 执行时机错误:popuniKategorije() 中的Ajax是异步操作,调用 postaviVrednost() 时,下拉框的<option>选项还未从服务器加载完成,此时设置值找不到对应选项,导致选中失败。

同时需要确认:$podaci->kategorija 的值与 popuniKategorije.php 输出的<option>的value完全匹配(包括数据类型,比如数字和字符串是否一致)。

解决方案

方法一:调整执行顺序,确保选项加载完成后再设置选中值

修改 vratiPodatke.php 中的脚本部分,将 postaviVrednost() 放到Ajax的成功回调内:

<script>
    function popuniKategorije() {
        $.ajax({
            url: '../funkcije/popuniKategorije.php',
            success: function (data) {
               $("#kategorija").html(data);
               // 选项渲染完成后执行选中逻辑
               postaviVrednost();
            }
        });
    }
    popuniKategorije();

    function postaviVrednost() {
        $("#kategorija").val("<?= $podaci->kategorija ?>").change();
    }
</script>

方法二:确保值的类型匹配

如果 $podaci->kategorija 是数字类型,且<option>的value也是数字,可去掉引号避免字符串与数字不匹配:

function postaviVrednost() {
    $("#kategorija").val(<?= $podaci->kategorija ?>).change();
}

额外检查项

  1. 在 vratiPodatke.php 中临时输出 <?= $podaci->kategorija ?>,确认该值与某个<option>的value完全一致。
  2. 打开浏览器控制台(F12),查看是否存在JavaScript错误,比如元素找不到、Ajax请求失败等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:45:11