【发布时间】:2021-11-04 04:45:06
【问题描述】:
所以,我可以使用数据库中的信息填充下拉列表,但是我需要做的是,当我单击下拉列表中的选项时,它应该在表格中显示所选选项(项目)的描述数据单元格元素。当用户选择一个选项时,它不想在表格数据中显示任何内容。
从下拉列表到文本框(不在表格内部)都可以正常工作。
HTML / PHP
<table class="inventory">
<thead>
<th>
<span>
<h2>Service Date</h2>
</span>
</th>
<th>
<span>
<h2>Item</h2>
</span>
</th>
<th>
<span>
<h2>Description</h2>
</span>
</th>
<th>
<span>
<h2>Rate</h2>
</span>
</th>
<th>
<span>
<h2>Quantity</h2>
</span>
</th>
<th>
<span>
<h2>Subtotal</h2>
</span>
</th>
</thead>
<tbody>
<tr>
<!------ Service Date -------->
<td>
<a class="cut">-</a><span contenteditable></span>
</td>
<!------ Item -------->
<td>
<span contenteditable>
<div class="productSelect">
<select name="pull_data" id="pull_data">
<option value="" disabled selected>Click to See Products</option>
<?php
$records = mysqli_query($conn, "SELECT * FROM products");
while($data = mysqli_fetch_array($records))
{
echo '<option value="'.$data['name'].'" data-description="' . $data['description'].'">' . $data['name'] . '</option>';
}
?>
</select>
</div>
</span>
</td>
<!------ Description -------->
<td>
<span id="details" name="details" contenteditable></span>
</td>
JavaScript
<script>
var mySelect = document.getElementById("pull_data");
mySelect.addEventListener("change", function() {
var myOptionFour = mySelect.options[mySelect.selectedIndex].getAttribute("data-description");
document.getElementsById('details').value = myOptionFour;
});
</script>
【问题讨论】:
-
document.getElementsByTagName('details')[2].value = myOptionFour;- 您似乎在任何地方都没有任何标签名称为details的元素。 -
(即使您这样做了 -
.value仅适用于表单字段。对于包含文本的“普通”HTML 元素,您需要设置.innerText或.innerHTML)跨度>
标签: javascript php html sql