Как вернуть массив выбранных элементов и еще один из невыбранных? - PullRequest
0 голосов
/ 11 июня 2018

Я хочу отправить два разных аранжировки;один, с которым отправляются значения флажка или переключателя, выбранного, и другой, где отправляют мне значения флажка и переключателя не выбран.

Это то, что привело

<table>   
            <tr aling=center>    
              <th>Realizar</th>
              <td align="center"><input name="selected_privilege[0]" type="checkbox" value="1" /></td>
            </tr>

            <tr aling=center>    
              <th></th>
              <td align="center">lectura</td>
            </tr>

            <tr aling=center>    
              <th>Nacional</th>
              <td align="center" ><input type="radio" name="selected_privilege[0]" value="2"><br></td>
            </tr>


            <tr aling=center>    
              <th>Divisional</th>
              <td align="center" ><input type="radio" name="selected_privilege[0]" value="3"><br></td>
            </tr>

            <tr aling=center>    
              <th>Inmueble</th>
              <td align="center"><input type="radio" name="selected_privilege[0]" value="4"><br></td>
            </tr>
          </table>

Это то, что возвращает меня до сих пор

"selected_privilege"=>{"0"=>"2"}

Мой контроллер

 puts "array selected" + params[:selected_privilege].keys.second.to_s

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете сделать скрытые элементы для отправки невыбранных элементов на ваш сервер.

например

<input id="selected_privilege_zero" name="selected_privilege[0]" type="checkbox" value="1" />
<input id="unselected_privilege_zero" name="selected_privilege[0]" type="hidden" value="1" />

<script>
// Jquery
  $('#selected_privilege_zero').on('change', function() {
    if (this.checked) {
      $('#unselected_privilege_zero').value = this.value;
    }
    else {
      $('#unselected_privilege_zero').value = '';
    }
  });
</script>

Приведенное выше значение перевернет значение unselected_privilege_zero, основываясь на том, что флажок selected_privilege_zero установлен илине.Если значение элемента пустое, оно не будет отправлено на сервер.

Метод скрытого элемента также можно использовать для переключателей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...