微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selectize.js - 加载后设置选定的值

如何解决Selectize.js - 加载后设置选定的值

我在使用 selectize.js 时遇到问题。

我有一个使用 ajax 加载的 Modal,在加载 modal 期间还加载了一个 selectize,并使用另一个 ajax 调用填充它。

这是我的代码

//MOSTRA MODAL MODIFICA SLOT
        body.on('click','.editSlot',function(e) {
            e.preventDefault();
            id = $(this).data('id');
            $.ajax({
                url: "Slot/"+id+"/edit",method: 'GET',data: {
                    id: id,},success: function(result) {
                    $('#modalContent').html(result);
                    let select = $('#edit_slot_model_code').selectize({
                        valueField: 'model_code',labelField: 'model_code',searchField: ['model_code','model_name'],create: false,preload: true,placeholder: 'Seleziona il codice modello',render: {
                            option: function(item,escape) {
                                return '<div class="my-2 container rounded p-2"' +
                                    '<span>' + escape(item.model_name) + '</span><br>' +
                                    '<b>Cod.Mod.: </b><span>' + escape(item.model_code)  + '</span><br>' +
                                    '<b>Pay-Out: </b><span>' + escape(item.pay_out)  + '%</span> ' +
                                    '<b>Ciclo: </b><span>' + new Intl.NumberFormat('it-IT').format(escape(item.cycle)) +
                                    '</span>' +
                                    '</div>';
                            }
                        }
                    });
                    var selectize = select[0].selectize;
                    selectize.load(function (callback) {
                        $.ajax({
                            url: 'SlotsSelectModel/'+ id,type: 'GET',error: function (e) {
                                callback();
                            },success: function (res) {
                                callback(res.slotModels);
                                selectize.addOption(res.modelCode);
                                selectize.setValue(res.modelCode,false);
                                $('#Modal').show()
                            }
                        });
                    });
                 }
            });
        });

好吧,现在我用

selectize.addOption(res.modelCode);
                                selectize.setValue(res.modelCode,false);

设置json给定的值:

{"slotModels":[{"id":1,"constructor":"ABBATE SYstem DI ABBATE FRANCESCO","model_name":"CASINO' GOOD LUCK ULTIMATE","model_code":"776870592765183","pay_out":75,"cycle":30000},....]"modelCode":"776870592765183"}

JSON 由一个对象“slotModels”组成,其中包含填充选择选项的所有项目,然后一起发送“modelCode”,这是要设置为选定的值。

该值是在输入中设置的,但如果我打开选择我看不到与该值相关的选项:

enter image description here

我尝试了很多解决方案,但似乎没有任何帮助。

问题可能是 json 用数千条记录(现在是 6009 条)填充 select,如果我打开下拉菜单,我看不到所有记录。

有人可以解释我如何达到我想要的结果吗?

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。