javascript - 如何从多选下拉菜单中获取值并将其与 POST 一起发送?

标签 javascript jquery html node.js twitter-bootstrap

我想将这种类型的多选下拉菜单添加到我的表单中

<form>
...
    <select id="example2" multiple="multiple">
        <div id="otherChoices">
            <optgroup label="Academic" class="blah">
                <option value="Engineering" class="blah">Engineering</option>
                <option value="Humanities">Humanities</option>
                <option value="Life_Sciences">Life Sciences</option>
                <option value="Social Sciences_Sciences">Social Sciences</option>
            </optgroup>
            <optgroup label="Clubs">
                <option value="Event">Event </option>
                <option value="Meeting">Meeting</option>
                <option value="Performance">Performance</option>
            </optgroup>
            <optgroup label="Personal">
                <option value="Discussion">Discussion</option>
                <option value="Event">Event</option>
                <option value="Food">Food</option>
                <option value="Hangout">Hangout</option>
                <option value="Trip">Trip</option>
            </optgroup>
        </div>
    </select>
</form>

但我不确定这是什么类型的输入表单(它是 Bootstrap 创建的表单,但不是有效的输入类型),所以我不确定如何通过发布请求发送参数。目前,我正在使用 jquery 来获取所选值并填写隐藏表单。有没有更好的办法?

最佳答案

您在 HTML 中犯了一些错误: 这是更正后的版本:

<form action="test2.php" method="post">
    <select name="example2[]" id="example2" multiple="multiple" >
        <div id="otherChoices" name="hello">
            <optgroup label="Academic" class="blah">
                <option value="Engineering" class="blah">Engineering</option>
                <option value="Humanities">Humanities</option>
                <option value="Life_Sciences">Life Sciences</option>
                <option value="Social Sciences_Sciences">Social Sciences</option>
            </optgroup>
            <optgroup label="Clubs">
                <option value="Event">Event </option>
                <option value="Meeting">Meeting</option>
                <option value="Performance">Performance</option>
            </optgroup>
            <optgroup label="Personal">
                <option value="Discussion">Discussion</option>
                <option value="Event">Event</option>
                <option value="Food">Food</option>
                <option value="Hangout">Hangout</option>
                <option value="Trip">Trip</option>
            </optgroup>
        </div>
    </select>
    <button type="submit">Submit</button>
</form>

编辑: 这是我更正的:

  1. 我用方括号向选择添加了一个名称值以显示其数组
  2. 我在表单中添加了一个方法类型:method="post"
  3. 提交按钮

然后您可以像这样访问各个项目:

echo $_POST["example2"][0];

编辑:抱歉,我意识到这是 Node.js,这是用于 PHP 的。有关如何在 Node js 中获取 post 变量,请参阅此链接:

How do you extract POST data in Node.js?

关于javascript - 如何从多选下拉菜单中获取值并将其与 POST 一起发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632702/

相关文章:

javascript - 当同一 HTML 文档中存在多个 <form> 标记时,验证失败

javascript - 保存到驱动器按钮光标

javascript - 在溢出时创建一个新的 div 并将溢出文本传输到新的 div

javascript - 将 onclick 事件添加到 JavaScript 中附加的 div 标签

javascript - 在新窗口中打开链接,而不是在新选项卡中

javascript - 为什么我的 javascript 程序没有将其转换为整数而不是字符串?

jquery - 如何在kendo ui上传控件的异步方法中最初显示上传按钮

jquery - CSS3动画中的闪烁

javascript - FullCalendar:使用 Google 日历事件的位置属性

java - JSOUP 带有加载文本和圆圈的网页抓取页面