更改选择加载网址参数

问题描述 投票:0回答:1
selectize({
        valueField: 'Id',
        labelField: 'Name',
        searchField: 'Name',
        load: function (query, callback) {
            $.ajax({
                url: '/some_url/params?SOME_ID=4&keyword=' + encodeURIComponent(query),
                success: function (response) {}
            });
        }
    });

在上面的代码片段中,是否可以根据某些事件更改请求参数中 SOME_ID 的值
不破坏正在重新初始化整个输入?
预先感谢

我发现的唯一解决方案是销毁并重新初始化输入,但我正在寻找更好的方法

javascript jquery ajax selectize.js
1个回答
0
投票

尝试将值存储在适当范围的变量中。

由于每次搜索都会调用

load
函数,因此它将被正确评估。

例如

const selectizeQueryParams = {
  SOME_ID: 4, // initial value
};

document.addEventListener('some-event', (e) => {
  selectizeQueryParams.SOME_ID = 'newValue';
});

// ...

selectize({
  valueField: 'Id',
  labelField: 'Name',
  searchField: 'Name',
  load: function (keyword, callback) {
    $.get('/some_url/params', {
      ...selectizeQueryParams,
      keyword, // 👈 jQuery automatically encodes params when passed as an object
    }).done(function (response) {});
  },
});
© www.soinside.com 2019 - 2024. All rights reserved.