2013-03-16 5 views
6

मैं jqgrid का उपयोग कर रहा हूं और मेरे पास ड्रॉपडाउन के साथ एक फ़िल्टर पंक्ति है जो लोगों को वस्तुओं की सूची से चुनने की अनुमति देती है। मैं सोच रहा था कि यह सभी ड्रॉपडाउन को लोड करने के लिए कई चक्रों को बर्बाद कर देता है, क्योंकि लोग इनमें से किसी का चयन नहीं कर सकते हैं।jquery jqgrid में, क्या वैसे भी ड्रॉपडाउन चुनने तक देरी हो रही है?

क्या कोई भी व्यक्ति ड्रॉपडाउन प्राप्त करने के लिए एजेक्स कॉल को स्थगित करने के लिए वैसे भी है जब तक कोई व्यक्ति वास्तव में ड्रॉपडाउन फ़िल्टर में तीर पर क्लिक नहीं करता है। मैं देखता हूं कि कुछ अन्य ग्रिड पुस्तकालय ऐसा करते हैं।

उत्तर

3

इस की जाँच करें:

मार्कअप:

<select id="ddl"> 
    <option value="-1">Select One</option> 
</select> 

jQuery:

$("body").delegate("#ddl", "focus",function(event){ 
    //ajax call here, and then append items 
    $(this).append("<option value='1'>Option 1</option>"); 
    $(this).append("<option value='2'>Option 2</option>"); 
    $(this).append("<option value='3'>Option 3</option>"); 
    $(this).append("<option value='4'>Option 4</option>"); 
    $(this).append("<option value='5'>Option 5</option>"); 
}); 

jsFiddle: http://jsfiddle.net/9asfG/

+0

लेकिन मुझे सूची प्राप्त करने के लिए सर्वर पर जाना है – leora

1

मुझे लगता है कि आप इसे सर्वर साइड में भी कर सकते हैं, कोड में आप $ _POST ["_ search"] के अंदर जांचने के लिए एक if-statement जोड़ सकते हैं, यदि यह सत्य है, तो $ _POST के अंदर लूप, पता लगाएं कि ड्रॉपडाउन - खोज स्थिति पोस्ट की गई है, यदि नहीं, तो कुछ रिक्त करें या कोड को रोकने के लिए जो भी हो, यदि हां तो डीबी से डेटा लोड करना जारी रखें।

पीएस .: मेरी व्यक्तिगत राय, शायद परिणाम में "देरी" का अच्छा विचार नहीं है, क्योंकि उपयोगकर्ता को पता नहीं है कि उसे पहले ड्रॉपडाउन का चयन करने की आवश्यकता है, यह उपयोगकर्ता अनुभव बिंदु से एक अच्छा डिज़ाइन नहीं है ।

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