达到select2 select

时间:2018-07-16 22:10:56

标签: javascript jquery jquery-select2

是否可以从select2内访问数据属性?

$('select').select2({
  ajax: {
    url: url + '&id=' + $(this).attr('data-id')
    //...
  }
});
//...
<select data-id="1"></select>
<select data-id="2"></select>
<select data-id="3"></select>

2 个答案:

答案 0 :(得分:2)

要将自定义参数传递给select2中的ajax网址,您应该使用data ajax函数:

$('select').select2({
  ajax: {
    url: "zee/base/url" // base url, no params
    data: function(params) {
      return {
        q: params.term,          // search term
        id: $(this).data('id')   // ta daaaa!
        page: params.page
      };
    },

    // moar ajax options
  },

  // moar select2 config options
})

作为一般说明,select2配置选项中的this指的是select2实例(它是一个对象),上面概述的this函数中的data指的是DOM元素select2被调用,因此jQuery包装器$(this)具有.data()方法。

答案 1 :(得分:1)

阅读文档时,它说您可以将url作为数据类型插入html select标记中,如下所示:

public class Filter {
  ...

  @OneToMany(mappedBy="cart")
  private List< FilterComponents> filterComponents;

此url将在调用时覆盖您在函数内部设置的选项,因此您在html中将其设置为的每个选项均使用不同的选项。