Захват Rails 3 входных параметров мультиселекции - PullRequest
0 голосов
/ 24 июня 2010

У меня есть многоэлементное управление формой (рис. 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-urlencodedcontent_provider FLRcontent_provider SLDTИнжир.2

PARAMs [{"content_provider" => "SLDT", "controller" => "html_items", "action" => "search"}]...Инжир.3

СпасибоТим

1 Ответ

1 голос
/ 03 января 2011

Во-первых, если вы хотите создать массив выбранных элементов, вам нужно назвать <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>
...