根据Rails中另一个下拉列表中的值过滤下拉列表

时间:2014-08-01 14:26:47

标签: ruby-on-rails drop-down-menu

我有一个国家模型。在视图中我有一个国家下拉列表。如果选择country1,则必须在状态下拉框中列出该国家/地区的所有州。如果选择country2,则只有'其他'必须显示在下拉框中。我有jquery这样做。但是如何在jquery中访问ruby中定义的常量?我该怎么做?

          $('#country_id').change(function() {
            debugger
            var country = $('#country_id').val();
             if (country != 'India') {
                // $('#country_state').val("others");
                //$('#country_state').prop("disabled", true);
                $('#country_state').empty().append('<option>Other</option>');
                $('#phone').focus();

            }
            else{
             $('#country_state').empty().append('<option>indiastates*</option>');
            }

        })

* indiastates是ruby中的常量。如何将其显示为下拉选项?

2 个答案:

答案 0 :(得分:1)

对于第二个下拉列表,我首先创建了一个数组,其中包含我想在下拉列表中显示的值。

 var states_array  = new Array("xxx","yyy");     

将此附加到下拉列表中

 var states_option;
   for(var i=0;i<states_array.length;i++)
       states_option += "<option>" + states_array[i] + "</option>";
   $school_state.empty().append( states_option );

答案 1 :(得分:0)

您可以尝试groups_collection_select

这是railscast http://railscasts.com/episodes/88-dynamic-select-menus-revised