jquery QueryBuilder使用不带筛选运算符的选择输入

dldeef67  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(72)

有没有办法创建一个没有运算符的querybuilder**?**.
范例

let filters= [];
let filter;
        filter= {
            id: 'id',
            label: 'id',
            type: 'string'
        };
        filter.input = 'select';
        filter.operators = ['equal']; //add the 'equal' operator to override the default operators that are added if not given

let v = ['id1', 'id2'].reduce(function(o, val) { o[val] = val; return o; }, {});
filter.values = v;
filters.push(filter);

$('#queryBuilderDiv').queryBuilder({

    filters: filters,
    select_placeholder: '--Select ID--',
});

字符串
这将创建如下所示的查询生成器


的数据
我想放弃运算符,只让用户选择一个id,如下图所示。



我试图设置filter.operators = [],但没有运气,因为查询生成器不允许我在没有选择运算符的情况下选择一个值。
有什么想法吗?提前感谢:)

rqdpfwrv

rqdpfwrv1#

你可以像这样隐藏过滤器的操作符:

$('#builder').queryBuilder({
  filters: [
    {
      id: 'name',
      label: 'Name',
      type: 'string',
      operators: ['equal'],
      input: 'text'
    },
    {
      id: 'age',
      label: 'Age',
      type: 'integer',
      operators: ['equal', 'less', 'greater'],
      input: 'number'
    }
  ],
  afterCreateRuleOperators: function(e, rule) {
    if(rule.filter.id === 'name') {
      $(rule.$el).find('.rule-operator-container').hide();
    }
  }

字符串
});

相关问题