2011-11-07 38 views
5

का चयन करें मैं jQuery स्वत: पूर्ण जो मैं रेल आवेदन पर एक गहरे लाल रंग का से पॉप्युलेट कर रहा हूँ उपयोग कर रहा हूँ और मैं बहुत की तरह एक कस्टम autcomplete बनाने हूँ:JQuery स्वत: पूर्ण - पहला आइटम

$.widget("custom.code_complete", $.ui.autocomplete, { 
    _renderMenu: function(ul, items) { 
      var self = this, 
       currentCategory = ""; 
     $ul = ul; 
      $.each(items, function(index, item) { 
       if (item.category != currentCategory) { 
        ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>"); 
        currentCategory = item.category; 
       } 
       self._renderItem(ul, item); 
      }); 
     } 
    }); 

    $("#r-code").code_complete({ 
    source: "URL", 
    minLength: 2, 
    select: function(event, ui) { 
     $(".button-row").fadeIn(); 
     get_details(ui.item.url); 
    } 
    }); 

मैं किसी अन्य पृष्ठ से करने के लिए एक उपयोगकर्ता पुनः निर्देशित कर रहा हूँ जो खोज के लिए इस्तेमाल किया एक कोड है URL में कोई पैरामीटर के साथ स्वत: पूर्ण रूप के साथ पेज, यहाँ खोज करने के लिए जे एस है:

function ac_search(code) { 
    $("#r-code").val(code); 
    $("#r-code").code_complete('search', code); 
} 

यह पूरी तरह से खोज करता है और परिणाम की ड्रॉप डाउन सूची प्रदर्शित करता है । मैं स्क्रिप्ट प्राप्त करने की कोशिश कर रहा हूं फिर सूची में पहला परिणाम चुनें।

$(".ui-menu-item:first a").click(); 

यह स्वतः पूर्ण सूची में सही तत्व पाता है लेकिन जब मैं कोशिश करते हैं और एक क्लिक अनुकरण यह इस त्रुटि देता है:

TypeError: ui.item is null 

प्रोग्राम के रूप में करने के लिए क्या यह संभव है मैं कोशिश की यह एक चयनकर्ता के माध्यम से कर रही है स्वत: पूर्ण परिणाम सूची में पहली आइटम पर क्लिक करें?

चीयर्स

EEF

उत्तर

15

उपयोग ऑटोफोकस: सच

$(el).autocomplete({ 
     autoFocus: true 
     ... 
}); 
+0

आप वास्तव में इस एक्सटेंशन जब तुम सिर्फ सच के रूप में ऑटोफोकस विकल्प सेट कर सकते हैं की जरूरत नहीं है। – Ziad

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