Я новичок в Ruby on Rails. Я начал работать над RoR 1 месяц назад. Моя проблема:Динамический поле выбора в Ruby on Rails
У меня есть одна таблица, называемая syscode, которая имеет Id, Name, Desc и Parent_id. Для родителя Parent_id = 0 и для childs у них есть parent_id в соответствии с идентификатором родителя.
У меня должно быть два окна выбора, в которых в первом поле выбора должны отображаться родители, а второй флажок выбора должен быть динамическим. I. При щелчке родителя в первом поле выбора он должен отображать соответствующие дочерние элементы во втором поле выбора. Мне удастся получить parent_id по щелчку параметров в первом поле выбора.
Код я попытался это:
Вид: selectnew.html.erb
<div id="dvSelectSyscodeForm">
<%= form_for(@syscode) do |f| %>
<div class="field">
<label for="syscode_fksyscodeparent">Parent</label>
<%= f.select :fksyscodeparent, Syscode.where("fksyscodeparent = '0'").map {|s| ["#{s.syscode}", s.id ]} %>
</div>
<div id="dvShowChild" style="display:none;">
<div class="field">
<label for="childSyscodes">Child</label>
<%= f.select :fksyscodeparent, Syscode.where("fksyscodeparent = '0'").map {|s| ["#{s.syscode}", s.id ]} %>
</div>
</div>
<script type="text/javascript">
var scode = [];
function parentSelected() {
parent_id = $('#syscode_fksyscodeparent').val();
alert(parent_id);
}
$(document).ready(function() {
parentSelected();
$('#syscode_fksyscodeparent').change(parentSelected);
});
</script>
<% end %>
</div>
<%= link_to 'Back', syscodes_path %>
Контроллер: selectnew
def selectnew
@syscode = Syscode.new
respond_to do |format|
format.html # selectnew.html.erb
format.json { render json: @syscode }
end
end
Пожалуйста, помогите мне, ребята ... Спасибо заранее ... !!
Спасибо за ответ .... Я хочу, чтобы мой первый выпадающий список всегда был родителем. При выборе родителя он должен отображать второе выпадающее меню с его дочерними элементами. – yrkapil
Да, это именно то, что я имел в виду. когда вы выбираете что-то в первом селекторе, вы меняете содержимое второго селектора одним из способов, о которых я упоминал выше. Отправьте родительский идентификатор с помощью вызова ajax и используйте его при построении шаблона возврата javascript или html. – EasyPush
Я не понимаю, как это сделать в рубине на рельсах ... Пожалуйста, помогите, разместив образец кода ... – yrkapil