确认页面
Confirmation page
本文关键字:确认 更新时间:2023-09-26
我有10个下拉菜单,像:
Please Select
Item 1
Item 2
Item 3
---Appetizers---
Item 4
Item 5
---Main Courses---
Item 6
Item 7
---Lunch Specials---
Item 8
我想抓住值,如果一个项目被选中,并打印在确认页上。我可以用for循环和javascript做到这一点吗?如果我这样做,在HTML中怎么调用呢?
function getItems() {
var items = [
document.getElementById("item1").value,
document.getElementById("item2").value,
document.getElementById("item3").value,
document.getElementById("item4").value,
document.getElementById("item5").value,
document.getElementById("item6").value,
document.getElementById("item7").value,
document.getElementById("item8").value,
document.getElementById("item9").value,
document.getElementById("item10").value
];
for (int i = 0; i < items.length; i++) {
var count = 0;
if (
(item[i] != "Please Select") ||
(item[i] != "---Appetizers---") ||
(item[i] != "---Main Courses---") ||
(item[i] != "---Lunch Specials---")
) {
document.getElementById(i).innerHTML = item[i];
count++;
}
}
}
下拉菜单是使用php从MySQL数据库填充的。我的HTML/php:
Item 4
<select id="item4">
<option value"">Please Select</option>
<?php if ($resultApp4->num_rows > 0) { ?>
<option value"">---Appetizers---</option>
<?php while($row = $resultApp4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>"><?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<?php } } ?>
<?php if ($resultMain4->num_rows > 0) { ?>
<option value"">---Main Courses---</option>
<?php while($row = $resultMain4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>"><?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<br>
<?php } } ?>
<?php if ($result4->num_rows > 0) { ?>
<option value"">---Lunch Specials---</option>
<?php while($row = $result4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>"><?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<br>
<?php } } ?>
</select>
<br>
您似乎生成了包含所有选项的单个下拉列表。如果这是有意的,那么让它成为一个可以进行多个选择的选项,这不是默认行为。为此,将multiple
属性添加到select
。
然后你需要为change
事件添加一个监听器,这样你的代码就可以在用户选择或取消选择项目时执行。
注意,您在value
属性之后忘记了一些=
。此外,不允许在option
元素之后放置<br>
标记。select
元素只能有option
子元素。
下面是修改后的PHP:
Item 4
<select id="item4" multiple size="8">
<option value="">Please Select</option>
<?php if ($resultApp4->num_rows > 0) { ?>
<option value="">---Appetizers---</option>
<?php while($row = $resultApp4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>">
<?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<?php } } ?>
<?php if ($resultMain4->num_rows > 0) { ?>
<option value="">---Main Courses---</option>
<?php while($row = $resultMain4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>">
<?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<?php } } ?>
<?php if ($result4->num_rows > 0) { ?>
<option value="">---Lunch Specials---</option>
<?php while($row = $result4->fetch_assoc()) { ?>
<option value="<?php echo $row['price']; ?>">
<?php echo $row['name']; ?> - $<?php echo $row['price']?></option>
<?php } } ?>
</select>
JavaScript可以简单得多,如下所示:
// Listen to the selection changes made:
document.querySelector('#item4').addEventListener('change', function () {
// For this demo, the text is stored in a DIV
document.getElementById('output').textContent =
[...this.selectedOptions] // convert selected options list to array
.filter ( option => option.value.length ) // option must have a value
.map( option => option.textContent ) // get text of option
.join(''n'); // add line breaks
});
Item 4 (hold Ctrl key to add selections)<br>
<select id="item4" multiple size=8>
<option value="">Please Select</option>
<option value="">---Appetizers---</option>
<option value="1">drink 1 - $1</option>
<option value="1.10">drink 2 - $1.10</option>
<option value="">---Main Courses---</option>
<option value="15">dish 1 - $15</option>
<option value="16">dish 2 - $16</option>
<option value="">---Lunch Secials---</option>
<option value="10">lunch 1 - $10</option>
<option value="11">lunch 2 - $11</option>
</select>
<div id="output" style="white-space:pre"></div>
相关文章:
- 按钮字段确认点击不'不起作用
- 删除确认对话框在第一次单击时不起作用
- 在表单完成并确认密码之前,请禁用提交按钮
- 在asp.net中确认是或否消息
- javascript确认对话框有时会不断出现
- 是否可以用变量确认提示警报
- 检测在确认页面导航时单击了哪个按钮
- 确认前执行
- 如何为javascript方法放入jquery确认对话框
- jQuery:确认.html()是否可添加
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 在离开Aurelia.js上的页面之前,我如何要求用户进行确认
- 火灾在卸载前确认警报仅适用于外部站点
- 如何在批准露天共享中工作流的审核步骤之前添加确认对话框
- Rails:将表单字段值添加到数据确认消息中
- 需要确认我对Servlet vs RESTful网页的理解's的差异
- 无法在PHP中找到确认按钮
- 从确认框中预填充输入文本框
- HiddenField从服务器更改的javascript值在客户端确认
- 弹出格式化的模式对话框,并在用户确认时转发