首页 > 解决方案 > 动态加载选项 - JQuery Select2

问题描述

目前,我正在尝试将动态选项加载到 select2 JQuery 下拉列表中。这些数据存储在另一个函数中,当用户搜索特定数据时,它将调用另一个函数并获取数据(如果存在)。我不想使用 ajax,因为我没有调用 api 请求,它只是一个用 C# 编写的函数,我用 Javascript 调用这个函数。但是我无法显示匹配的选项,动态调用数据的唯一方法是通过 ajax。

 $("#lnkIssue").select2({
            placeholder: 'Start typing...',
            minimumInputLength: 1,
            theme: 'bootstrap4',
            width: '100%',
            closeOnSelect: true,
            tags: false,
            allowClear: false,
            multiple: false,
            results:customFunction(params)
)}  


function(params)
{
   // Implementation
   return results = {id:'example-1',text:'example-2'}
}  // it didn't work

除了 ajax 函数之外,还有其他方法可以将结果返回给 select2 吗?

标签: javascriptc#jqueryjquery-select2

解决方案


是的,只需将函数传递给data属性

$("#lnkIssue").select2({
    placeholder: 'Start typing...',
    minimumInputLength: 1,
    theme: 'bootstrap4',
    width: '100%',
    closeOnSelect: true,
    tags: false,
    allowClear: false,
    multiple: false,
    data: getData()
  })

const getData = () => {
  return [{
    id: 'example-1',
    text: 'example-2'
  }]
}

推荐阅读