Библиотека jQuery AJAX-вызов выбран динамический вариант дублирования вопроса, если использовать пустая() тогда элемент теряет умолчанию выбрано значение


Библиотека jQuery AJAX-вызов выбран динамический вариант дублирования вопроса, если использовать пустая() тогда элемент теряет умолчанию выбрано значение

09.10.2020 05:35:42 Просмотров 5 Источник
$(this.el).ready(function(){
            setTimeout(function(){
                var subItemsData = [];
                $(self.el).chosen({
                    width: '100%',
                    allow_single_deselect: true,
                    no_results_text: "Oops, nothing found!",
                    search_contains: false,
                    max_selected_options: self.params.maxselected ? self.params.maxselected : 0
                }).on('change', function(evt, params) {

                    var value = $(self.el).val();
                    self.set(value);
                    console.log("value",value);
                }).on('chosen:showing_dropdown', function(evt, params) {
                })
                
                $('#patient_diagnosis_chosen ul li.search-field input').autocomplete({
                    source: function( request, response ) {
                            if(request.term.length >= self.params.minlength){
                            $.ajax({
                                url: baseURL+'api/service/v1/get-data',
                                dataType: "json",
                                method:'post',
                                data:{
                                    'ids':$(self.el).val(),
                                    'key':request.term
                                },
                                success: function( data ) {
                                    var subItems=[]
                                    data.input_data.forEach((item,index)=>{
                                        
                                        subItems.push( "<option value="+item.id+">"+ item.code +' - '+item.short_description  + "</option>" );
                                        subItemsData.push(item) 
                                    })
                                    
                                    $(self.el).append(subItems).trigger("chosen:updated");
                                }
                            });
                        }
                    }
                }); 
                
            },100);     
        });

Этот код способен вызывать api и получать ответ api, но проблема в том, что опция дублируется, если я использую

$(self.el).empty().append(subItems).trigger("chosen:updated");

затем потеряйте значение выбора по умолчанию

Если это возможно, чтобы очистить элемент и установить элемент по умолчанию.

У вопроса есть решение - Посмотреть?

Ответы - Библиотека jQuery AJAX-вызов выбран динамический вариант дублирования вопроса, если использовать пустая() тогда элемент теряет умолчанию выбрано значение / JQuery chosen Dynamic ajax call option duplication issue, If use empty() element then lose default selected value

Является ответом!
Mdr Kuchhadiya

13.10.2020 08:14:51

Этот вопрос решен, этот код работает на меня.

var self = this;
        // var ids=[]
        $(this.el).ready(function(){
            setTimeout(function(){
                $(self.el).chosen({
                    width: '100%',
                    allow_single_deselect: true,
                    no_results_text: "Oops, nothing found!",
                    search_contains: false,
                    max_selected_options: self.params.maxselected ? self.params.maxselected : 0
                }).on('change', function(evt, params) {

                    var value = $(self.el).val();
                    // ids = $(self.el).val();
                    self.set(value);
                    console.log("value",value);
                }).on('chosen:showing_dropdown', function(evt, params) {
                })
                
                $('#patient_diagnosis_chosen ul li.search-field input').autocomplete({
                    source: function( request, response ) {
                            if(request.term.length >= self.params.minlength){
                            $.ajax({
                                url: baseURL+'api/service/v1/get-data',
                                dataType: "json",
                                method:'post',
                                data:{
                                    'ids':$(self.el).val(),
                                    'key':request.term
                                },
                                success: function( data ) {
                                    var subItems=[]
                                    var ids=$(self.el).val()
                                    data.input_data.forEach((item,index)=>{
                                        subItems.push( "<option  value="+item.id+">"+ item.code +' - '+item.short_description  + "</option>" );
                                    })
                                    $(self.el).empty().append(subItems).trigger("chosen:updated");
                                    var test = $.trim(ids);
                                    var testArray = test.split(',');
                                    $(self.el).val(testArray).trigger("chosen:updated");
                                }
                            });
                        }
                    }
                }); 
            },100); 
            
        });

Когда вызываете ajax с выбранными значениями и он дает ответ затем опустошаете элемент и снова устанавливаете выбранное значение в выбранном

Ответ Api с выбранными значениями

Помочь в развитии проекта:
Закрыть X