11

में लोडिंग का चयन बहुत लंबा लगता है मैं बूटस्ट्रैप चयन ड्रॉपडाउन सूची में 1000 रिकॉर्ड लोड कर रहा हूं। इसमें क्रोम में लगभग 2 सेकंड लगते हैं लेकिन आईई 9 में 30 सेकंड लगते हैं। इसके अलावा, आईई में बूटस्ट्रैप मोडल को रद्द या एक्स आउट करना 10 + एस भी लेता है। एपीआई कॉल ठीक है लेकिन प्रतिपादन इतना धीमा है; क्या कोई मुझे कुछ दिशा दे सकता है?बूटस्ट्रैप का चयन आईई

तो मैं ग्राहकों की एक सूची लोड कर रहा हूं और चयनित सेटिंग कर रहा हूं। कोड यहाँ है।

var customerPicker = $('#customer-picker'); 
    API.getCustomers().then(function (result) { 
     loadDropdown(customerPicker, result.customers); 

     // set the selected to current customer; it takes 10s in IE 
     customerPicker.val(currentCustomerId).selectpicker('refresh'); 

     // it takes about 10s in IE too. selector is the bs modal div 
     $(selector).css('z-index', '1060').modal('show'); 
    }).catch(function (errorMessage) { 
     ToastManager.showError(errorMessage || 'An error occurred while loading customer list. Please try again.'); 
    }); 

    function loadDropdown($div, arr) { 
     var options = ''; 
     $.each(arr, function (i, item) { 
      options = options + '<option value="' + item.Value + '">' + item.Text + '</option>'; 
     }); 
     $div.html(options); 
    } 

enter image description here

+0

क्या आपने '$ div.append ('

+0

@RobinMackenzie हाँ मैंने भाग्य के बिना कोशिश की। – Quentin

+1

आप किस jQuery का उपयोग कर रहे हैं? यह काफी संभव है कि आप विभिन्न jQuery रिलीज़ को आजमाकर हल कर सकते हैं क्योंकि आपने जिन कार्यों का उल्लेख किया है, वे सीधे जेएस के साथ सौदा करते हैं। –

उत्तर

0

आप का उपयोग कर सकते हैं:
उपयोगिता लोड हो रहा है 1000 से अधिक रिकॉर्ड की Select2 तरह एक अच्छा विचार नहीं है।
https://select2.github.io/examples.html

2

क्या आपने लूप के अंदर आंतरिक HTML सेट करने की कोशिश की है;

$div[0].innerHTML += '<option value="' + item.Value + '">' + item.Text + '</option>'; 

अंत में इसके बजाय .;

$div.html(options); 
1

शायद आप एक सीरियलाइजेशन लाइब्रेरी पर विचार करना चाहते हैं कि यह वास्तव में कितने रिकॉर्ड लोड हो रहा है। Clusterize.js एक बहुत अच्छी तरह से बनाया गया है, और केवल ब्राउज़र को क्लाइंट द्वारा वर्तमान में प्रस्तुत करने की अनुमति देता है। यह इस तरह से संभालने के लिए 100,000+ रिकॉर्ड तक कहीं भी दिखाता है।

https://clusterize.js.org/

0

Jquery पुराने ब्राउज़र में एक प्रदर्शन हिट अनुभव कर सकते हैं। Here's a solution जो आप अनुभव कर रहे हैं उसके समान। $.each() मूल जेएस की तुलना में पहले से ही धीमी है।

संबंधित मुद्दे