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