如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表
Posted
技术标签:
【中文标题】如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表【英文标题】:I want to Add Value to a Drop down list if i choose a specific value in another drop down list 【发布时间】:2019-11-24 04:40:53 【问题描述】:我有一个包含某些产品名称的下拉列表,如果用户选择特定产品并且我不想添加,我想显示另一个下拉列表(尺寸、S、M、L)它到其他值(产品),因为它们没有尺寸
<label>Product:</label> <select name="product">
<option value="1">Paper</option>
<option value="2">Bags</option>
<option value="10">Backpacks</option>
<option value="3">something something</option>
<option value="4">some other thing</option>
<option value="20">brand bags</option>
</select>
<select name="size3">
<?php
if($_POST['product']=="10" || $_POST['product']=="20")
echo "<option value=`1`>Small</option>".
"<option value=`2`>Medium</option>".
"<option value=`3`>Large.</option>";
?>
</select>
当谈到输出时,保管箱实际上有我想要的值,但那是在我选择 THE 特定值并刷新页面
之后【问题讨论】:
好吧,如果您不想先重新加载页面,那么您需要使用 AJAX 请求来执行此操作(将值从第一个 selecf 字段发送到服务器,获取 html 代码或数据构建第二个并修改当前文档) - 或者您只需使用 javascript 在客户端显示/隐藏已经存在的第二个选择字段。 好吧,我现在正在做的项目不允许我使用除了 php 和 html 之外的任何东西,我什至没有任何使用 javascript 或 ajax 的经验,所以如果有任何其他方式 并非如此。如果您仅限于 HTML 和 PHP,那么您必须提交表单,然后才能访问服务器端的值。 没有 ajax 或 JS 我看不出没有刷新页面的方法 如果您只想使用 PHP,则将您的应用程序分成 2 个页面 - 第一个页面处理 product,第二个页面使用所选产品显示可用的 尺寸. 【参考方案1】:在主选择的 javascript 中设置一个监听器,然后隐藏或显示尺寸选择 在将结果发送到后面之前,您可以在 javascript 中做很多事情
let el = document.getElementsByName("product");
let target = document.getElementById("size3");
el[0].addEventListener("change",function()
let choice = this.value;
if(choice == "20" || choice == "10")
target.style.display="inline-block";
else
target.style.display="none";
);
<label>Product:</label>
<select name="product">
<option value="1">Paper</option>
<option value="2">Bags</option>
<option value="10">Backpacks</option>
<option value="3">something something</option>
<option value="4">some other thing</option>
<option value="20">brand bags</option>
</select>
<select name="size3" id="size3" style="display:none;">
<option value="1">Small</option>
<option value="2">Medium</option>
<option value="3">Large</option>
</select>
【讨论】:
以上是关于如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
使用 location.href 将值从视图传递到控制器为 null