0

我有一个多选表单控件(图 1)。当我选择超过 1 个值时,Firefox 会发送这两个值(图 2)。但只有最后一个值作为输入值发送到我的控制器(图 3)。如何将所有这些值传递给我的控制器?

  <form action="html_items/search" method="post" >

    <!-- Criteria --> 
    <div style="float:none;">
      <label>Content Provider </label>
      <select multiple id="content_provider" name="content_provider">
        <option value="FLR">Flare</option>
        <option value="SLDT">Slashdot</option>
      </select>
    </div>

    <input type="submit" value="Search" />

  </form>

如图。1

参数application/x-www-form-urlencoded
content_provider FLR
content_provider SLDT
图。2

PARAMs[{"content_provider"=>"SLDT", "controller"=>"html_items", "action"=>"search"}]
...
图。3

谢谢蒂姆
_

4

1 回答 1

1

第一件事是,如果你想创建一个选定元素的数组,你需要将你的名字命名<select><select name='foo[]'>

下一步... 如果未选择任何内容,则不会显示任何内容。这是有道理的,但它让我有点难过。我在做ajax,左边的选择是搜索结果,右边是完成的列表。

我刚刚.click(function(){});在我的提交按钮中添加了一个以将左侧的每个项目设置为使用 jQuery 选择,并且这些项目作为数组显示在参数中。在下面的示例中,您应该会看到第一个项目出现。

<select multiple id="content_provider" name="content_provider">
        <option value="FLR" selected>Flare</option>
        <option value="SLDT">Slashdot</option>
</select>
于 2011-01-03T00:54:12.227 回答