2013-01-10 3 views
1

J'utilise autocomplete jquery pour charger les valeurs dans la zone de texte:Comment ajouter une image à la zone de texte source autocomplete

@Html.TextBox("Cities", "", new { @id="tags" }) 

<script type="text/javascript"> 
$(function() { 
     var availableTags = [ 
     "New York", 
     "London", 
     "Moscow", 
     "Paris", 
     "Berlin", 
     "Madrid", 
    ]; 
    $("#tags").autocomplete({ 
     source: availableTags 
    }); 
}); 

En fait, j'ai plus de 1000 villes et je vais les stocker dans la base de données et envoyer à la vue à travers le modèle. En outre, pour plus d'apparence agréable que je veux ajouter le drapeau du pays à la liste déroulante de ma zone de texte comme:

enter image description here

Comment puis-je faire? Comment ajouter une image à la source de l'autocomlète?

Répondre

2

Je suis remplaçant la fonction _renderMenu dans ma solution:

_renderMenu: function(ul, items) { 
    var that = this; 
    $.each(items, function(index, item) { 
     that._renderItemData(ul, item) 
      .children("a") 
      .attr("title", item.value["@tooltip"]) 
      .prepend("<img class='menu_button_img' src='" + item.value["@icon"] + "' /> "); 
    }); 
}, 

Fonctionne bien pour moi :)

+0

Merci beaucoup. J'ai essayé de surcharger la fonction _RenderItem et ça marche! S'il vous plaît, jetez un oeil à [ljsfiddle.net] (http://jsfiddle.net/RsTvq/) Et j'ai une autre question: Comment sélectionner l'élément de menu déroulant et rendre le drapeau du pays visible dans la zone de texte près de la sity? – mbigun

+0

ne l'a jamais fait auparavant. Peut-être que l'image en dehors de l'entrée est meilleure: regardez http://jqueryui.com/autocomplete/#custom-data – Saram

+1

C'est plus facile que je ne le pensais. Ajout de l'image de fond textbox pour l'élément select event [UPDATED jsfiddle.net] (http://jsfiddle.net/RsTvq/1/) – mbigun

Questions connexes