在单一选择下拉列表中使用jquery提交select2表单

时间:2016-09-02 00:07:19

标签: jquery jquery-select2

我有一个选择下拉列表。当用户进行选择时,我希望使用jquery提交表单。

我的jquery代码如下:

$(document).on('page:change', function(){ 
  function matchStart(params, data) {
      params.term = params.term || '';
      if (data.text.toUpperCase().indexOf(params.term.toUpperCase()) == 0) {
          return data;
      }
      return false;
  }

  $("select#user_country").select2({
    matcher: function(params, data) {
        return matchStart(params, data);
    },
    placeholder: "Select a country",
  })

  $("select#user_country").on('select2:select', function (event) {
     return ('form#selectcountry').submit();
  });

});

Rails视图:

<%= form_tag users_path, method: :get, id: 'selectcountry' do |f| %>
  <%= select_tag "country", options_from_collection_for_select(ISO3166::Country.countries.sort_by(&:name), 'un_locode', 'name'), :include_blank => true %>
  <%= submit_tag "Search", :name => "nil", :id => "submit-me" %>
<% end %>

Link here to 'select2:select' documentation

$('select').on('select2:select', function (evt) {
  // Do something
});

修改

我忘了提到事件监听器有效,我已经用警告消息对其进行了测试,它只是没有提交表单。

1 个答案:

答案 0 :(得分:0)

$('select#country').on('select2:select', function () {
  $('input#submit-me').trigger('click');
});

无法提交表单,所以就这样做了。