2012-08-09 84 views
0

我的自動完成數據以這樣的形式出現{「label」:「Apple iPhone 3G」,「values」:「293」} ..等。 當用戶點擊自動填充選項i想要將它們重定向到基於唯一ID值的產品頁面。例如,當iphone 3g被挑選出來的時候,我想讓它去example.com/293 ,但是目前它需要輸入什麼,而不是選擇什麼。 所以說我輸入A並點擊iphone 4g,它將不會存儲iphone 4g, 的正確值,而是會存儲以a開頭的第一個項目的值。或者如果我在iphone和選擇iPhone 4型,這將節省的第一代iPhone的價值在數據庫如何正確存儲來自自動完成的值

http://mogulcases.com/matt/search.php

如何IM存儲鍵值

$.widget("custom.catcomplete", $.ui.autocomplete, { 
    _renderMenu: function(ul, items) { 
    var self = this, 
       currentCategory = ""; 

    $.each(items, function(index, item) { 
     self._renderItem(ul, item); 

     $("input[type=hidden][name=key]").val(item.values); 

    }); 

    } 
}); 

IM如何抓住值

var searchcode = document.getElementById('key').value; 

回答

0

爲什麼不只是用select事件做些什麼。即

$(".selector").autocomplete({ 
    select: function(event, ui) { 
    window.location = "http://example.com/" + ui.item.id //would send them to the page you want them to go if they click on this 
    } 
}); 

這樣,如果用戶從列表中選擇一些東西,你可以從那裏調用事件並知道該項目存在。如果他們沒有從列表中選擇它,它將在他們點擊搜索按鈕或按下回車鍵時執行搜索。

你甚至可以更改該值上選擇同樣的方式

$(".selector").autocomplete({ 
    select: function(event, ui) { 
    $(".selector").val(ui.item.value); //I think Autocomplete does something like this automatically so may not be needed. 
    //But you could do something like this 
    $("input[type=hidden][name=key1]").val(ui.item.value); 
    } 
}); 

文檔可以發現here

+0

非常感謝隊友,救了我一個巨大的頭痛! – matture 2012-08-10 13:56:40

+0

沒問題。我在編程時所學到的幾乎所有東西都是,如果它以單向方式導致太多令人頭疼的事情,通常還有另一種方式。 – 2012-08-10 14:39:45