繁体   English   中英

为什么 select 的值没有像输入其他所有值一样显示在模态内部?

[英]Why value of select isn't showing inside of modal like value of input everything else?

所以,基本上我有这个模式,当我点击编辑按钮时弹出窗口,问题是我能够获得每个输入的值,select 值除外。

为了让您稍微熟悉这里的情况,发生的过程如下:

我有一个表(由数据库中的数据动态填充)- 工作正常,它基本上显示了它应该显示在该表内部的值。

现在除此之外,我还有编辑和删除按钮,当我单击编辑按钮模式弹出窗口时,假设我单击了表格第一行的编辑按钮,模式弹出窗口中的<input>字段填充了数据来自与单击编辑按钮的行相对应的表(数据库),除了这个 select 和我所期望的,来自表的相同值在第一个<option value="" id="vlasnik" name="vlasnik" selected disabled hidden></option>值,因此不必记住最初选择的是什么,下面是我的<select><option>的样子:

        <div class="mb-3">
        <select id="vlasnik" name="vlasnik" class="form-control form-control-lg" required> 
        <option value="" id="vlasnik" name="vlasnik" selected disabled hidden></option>
        <?php foreach($users as $user): ?>
        <option value="<?= $user['id']; ?>"><?= "[" . $user['id'] . "]" . $user['username']; ?></option>
        <?php endforeach; ?>
        </select>
        </div>

它给了我以下内容: 我得到什么

另外,我必须说我正在以不同的方式对待其他输入,就像这样(实际上):

// Edit User Ajax Request
tbody.addEventListener("click", (e) => {
  if (e.target && e.target.matches("a.editLink")) {
    e.preventDefault();
    let id = e.target.getAttribute("id");
    editUser(id);
  }
});

const editUser = async (id) => {
  const data = await fetch(`action.php?edit=1&id=${id}`, {
    method: "GET",
  });
  const response = await data.json();
  document.getElementById("id").value = response.id;
  document.getElementById("make").value = response.make;
  document.getElementById("model").value = response.model;
  document.getElementById("godina").value = response.godina;
  document.getElementById("boja").value = response.boja;
  document.getElementById("vin").value = response.vin;
  document.getElementById("engine").value = response.engine;
  document.getElementById("tip").value = response.tip;
  document.getElementById("vlasnik").value = response.vlasnik;
  document.getElementById("regoz").value = response.regoz;
  document.getElementById("istek").value = response.istek;
  document.getElementById("odometer").value = response.odometer;
  document.getElementById("napomena").value = response.napomena;
  document.getElementById("carStatus").value = response.carStatus;

};

在 action.php 里面我有这个:

// Handle Edit User Ajax Request
if (isset($_GET['edit'])) {
    $id = $_GET['id'];

    $user = $db->readOne($id);
    echo json_encode($user);
}

在 db 内部,readOne 方法是:

public function readOne($id)
    {
        $sql = 'SELECT * FROM vozila WHERE id = :id';
        $stmt = $this->conn->prepare($sql);
        $stmt->execute(['id' => $id]);
        $result = $stmt->fetch();
        return $result;
    }

正如我所说,我得到了除选项之外的所有其他值。 有谁知道问题是什么,我怎样才能实现我想要的?

document.getElementById("vlasnik").options[document.getElementById("vlasnik").selectedIndex].value

selectedIndex

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM