Скрипт ajax и rails для заполнения значений выпадающего списка на основе выбранной радиокнопки на rails 3 - PullRequest
0 голосов
/ 08 марта 2011

кто-нибудь знает, каким будет возможный сценарий ajax и rails для заполнения значений раскрывающегося списка на основе выбранной радиокнопки на рельсах. 3 Например, есть два типа выбора платформы (windows, unix) для радиокнопки, тогда, когда вы нажимаете радио unix Кнопка, раскрывающийся список будет фильтровать только что-то типа Unix (патч).

Идея состоит в том, что раскрывающийся список уже содержит содержимое из базы данных (<% = f.select: other_platform, Patch.all.map {| p | ["# {p.patch_type} # {p.number}: # {p.summary} ", p.id]}, {: include_blank => true}%>), то мне нужно сделать, это« отфильтровать »только те значения, которые имеют пример окна типа базы на переключателе, который был выбран, если вы щелкнули тип окна, то в раскрывающемся меню отобразятся только патчи типа Windows, и будет скрыт тип Unix или список, в котором есть слово Unix, например, regx (проверка запроса), а если вы выбрали или нажали Unix, то в выпадающем меню появится только тип Unix

спасибо пожалуйста, ответьте

IMON


У меня есть коды здесь: это радио-кнопка:


что мне делать с кодами ajax и этим селектором? Каковы правильные коды для ajax и некоторые дополнительные коды для переключателя и для этого selectbox .??

true}%>

Ваши ответы и примеры действительно ценятся.

спасибо, IMON

1 Ответ

0 голосов
/ 08 марта 2011

Это довольно просто. Когда пользователь нажимает на кнопку с зависимой фиксацией, должен быть вызван запрос ajax. Вы можете передать свои параметры для получения выпадающего списка с сервера в URL Ajax. Затем ответьте на требуемый выпадающий список с сервера, получите ответ в Ajax-вызове, заполните элемент dom. Сделайте это и спросите в случае любого запроса.

Edit:

Ниже приведен скелет вашего кода.

Suppose you have three radio buttons:

> input type="radio" name="rdio" value="a" checked="checked" />
> input type="radio" name="rdio" value="b" />
> input type="radio" name="rdio" value="c" />

> div id="drop_down" />
Bind click event like this:

$("input[@name='rdio']").click(function(){
  var url = '/get_drop_down_options?radio_val=' + $(this).val()
  $("#drop_down").removeOption(/./)
  $.get(url, function(data) {
    $('#drop_down').addOption(data, false);
  });
});

In your controller,

def get_drop_down_options
  val = params[:radio_val]
  options = YourModel.collect{|x| "'#{x.id}' : '#{x.label}'"}    
  render :text => "{#{options.join(",")}}" 
end


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