oshirowanen oshirowanen - 1 year ago 134
jQuery Question

jQuery UI autocomplete with item and id

I have the following script which works with a 1 dimensional array. Is it possible to get this to work with a 2 dimensional array? Then whichever item is selected, by clicking on a second button on the page, should display the id of whichever item is selected.

This is the script with the 1 dimensional array:

var $local_source = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"];
source: $local_source

This is the script for the button to check the id, which is incomplete:

$('#button').click(function() {
// alert($("#txtAllowSearch").someone_get_id_of_selected_item);

Answer Source

You need to use the ui.item.label (the text) and ui.item.value (the id) properties

    source: url,
    select: function (event, ui) {
        $("#txtAllowSearch").val(ui.item.label); // display the selected text
        $("#txtAllowSearchID").val(ui.item.value); // save selected id to hidden input

$('#button').click(function() {
    alert($("#txtAllowSearchID").val()); // get the id from the hidden input

[Edit] You also asked how to create the multi-dimensional array...

You should be able create the array like so:

var $local_source = [[0,"c++"], [1,"java"], [2,"php"], [3,"coldfusion"], 
                     [4,"javascript"], [5,"asp"], [6,"ruby"]];

Read more about how to work with multi-dimensional arrays here: http://www.javascriptkit.com/javatutors/literal-notation2.shtml

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download