javascript - 将选定/保存的值(来自数据库)设置/显示到选择框以进行编辑

标签 javascript php jquery html

我正在尝试获取已保存到数据库的值并将其显示在选择框中。 选择框中的项目是从数据库中填充的。

<select id="sel2" name="sel2">
    <option value="">---</option>
    <?php 
        require("connection.php");

        $res = mysqli_query($conn, "SELECT field FROM table");
        while($row = $res->fetch_assoc()){
            echo "<option value='".$row['field']."'>'".$row['field']."'</option>";
        }
    ?>
</select>

现在,当我尝试这样做时,

$('#btn2').click(function(){
    var x = "field1";
    $('#sel2').val(x);
});

x 的值不会出现在选择框中。但是当项目没有从数据库中获取时,例如,

<select id="sel2" name="sel2">
    <option value="">---</option>
    <option value="field1">field1</option>
    <option value="field2">field2</option>
    <option value="field3">field3</option>
</select>

jquery 可以工作。

我不知道我在这里错过了什么。你能帮我解决这个问题吗?当从数据库填充项目时,如何设置选择框的选定值(来自之前选择的数据库)?

我正在从数据库中获取选择框的项目,因为它们太多了。请帮忙。

最佳答案

问题在于 jquery 代码是在从数据库获取字段之前执行的。因此,语句 $('#sel2').val(x); 无法设置值 x,因为此时 x > 选择下拉列表中不存在该字段。

如果不确定,请尝试在 jquery click 函数中使用超时来检查我所说的是否正确。

让我知道它是否有效。

关于javascript - 将选定/保存的值(来自数据库)设置/显示到选择框以进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630183/

相关文章:

javascript - XSLT if 语句不正确匹配

javascript - 如何将 php 中的数组返回给 $.ajax 成功函数

javascript - 如何在 javascript 中将 JSON 数组值转换为整数(来自 php/mysql)

jquery - 这个界面元素的名称是什么?指示幻灯片/页面的位置

jquery - 将 arraylist 中的值返回到 ajax 成功函数

javascript - 从缓冲区中删除多个字节的规范方法

Javascript 排序功能无法正常运行

javascript - 如何将 jquery 放入仅在该部分 View 中工作的部分 View 中?

php - 在 WordPress 的当前菜单项中添加一个类来定位标签

javascript - 动态创建 id 时无法使用 jquery 显示/隐藏 div