如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表

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>

【讨论】:

以上是关于如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript为下拉列表赋值

使用 location.href 将值从视图传递到控制器为 null

当我在 asp.net 核心中选择下拉值时,如何将特定文本设置为下拉列表?

从列表中添加值 到Jtable

选择下拉列表中的特定值时隐藏“添加到购物车”

删除下拉列表中的重复项,组项