【问题标题】:PHP add options to <select multiple></select>PHP 添加选项到 <select multiple></select>
【发布时间】:2015-09-02 15:21:17
【问题描述】:

只是想问是否可以在我的问题中使用 PHP,所以在这里。我正在制作一个简单的搜索代码,其中用户将搜索例如“约翰”,现在许多约翰将出现在桌子上。在每一行中都会有一个名为“添加到列表”的按钮。如果用户点击添加按钮,John 的详细信息将像这样放在 select multiple 中。

<select multiple class="form-control">
    <option>John</option>
</select>

现在,如果我单击另一个,例如“Kevin”,它将变为...

<select multiple class="form-control">
    <option>John</option>
    <option>Kevin</option>
</select>

一旦选择多个被填充,我将打印它(现在是另一个故事)。所以基本上我的问题是如何通过按下“添加”按钮将值添加到&lt;select multiple&gt; 并获取选择多个选项中的 ID 以进行检索?我想我让我的问题变得复杂了,我很抱歉我的英语不好。我试过 if, for, do-while, while 但我似乎无法理解逻辑。希望您能理解,非常感谢!

【问题讨论】:

  • 如果你真的想要这个方法,它会是 ajax
  • 您可以使用arrays 来存储结果,然后从数组中填充下拉列表
  • 是的,foreach 应该让你继续前进。请记住为您的选择命名并为您的选项赋值。
  • @Dagon 真的有必要吗?因为我对此一无所知,我几乎完成了,我已经很沮丧了哈哈哈。
  • @Fred-ii- 你能给我一个关于如何启动 foreach 的想法吗,因为我什至不知道如何启动它。我可以轻松地使用它从数据库中检索数据,但我不知道如何操作数据以进入

标签: php mysql


【解决方案1】:

我们可以使用jQuery,这样当点击/选择名称/按钮时,页面就不必重新加载。

示例代码:

<!-- HERE ARE THE LIST OF NAMES TO BE ADDED IN THE SELECT FIELD -->
<table>
    <tr>
        <td>Kevin</td>
        <td><button class="names" value="Kevin">Add to List</button></td>
    </tr>
    <tr>
         <td>John</td>
         <td><button class="names" value="John">Add to List</button></td>
    </tr>
</table>

<!-- AND HERE IS THE SELECT FIELD THAT YOU WANT TO BE POPULATED -->
<select multiple class="form-control" id="select-names">
    <option disabled selected>Select first from the table of names</option>
</select>

我们必须创建一个脚本,当一个按钮被选中时,它将被添加到&lt;select&gt; 字段中。你必须先下载 jQuery here

<script src="jquery-1.9.1.min.js"></script> <!-- REPLACE NECESSARY FILE DEPENDING ON THE VERSION OF jQuery YOU HAVE DOWNLOADED -->
<script type="text/javascript">

  $(document).ready(function(){ /* PREPARE THE SCRIPT */
    $(".names").click(function(){ /* WHEN A BUTTON IS CLICKED */
        var names = $(this).val(); /* GET THE VALUE OF THAT BUTTON */
        $(this).closest("tr").fadeOut(200).hide(); /* HIDE THIS ROW */

        var newOption = $('<option></option>'); /* CREATE AN OPTION */
        newOption.val(names); /* SET THE VALUE OF THIS OPTION WITH THE VALUE OF THE SELECTED NAME */
        newOption.html(names); /* SET THE CONTENT OF THIS OPTION */
        $("#select-names").append(newOption); /* APPEND THIS OPTION TO THE SELECT FIELD */

    });
  });

</script>

如果您需要证明,请查看JSfiddle

但是,如果您还想要数据库交互,请发布您的数据库结构,解释架构并向我们提供更多您正在处理的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多