如何正确存储自动完成的值

时间:2012-08-09 20:57:49

标签: javascript jquery

我的自动填充数据就是这样的{“label”:“Apple iPhone 3G”,“值”:“293”}等等.. 当用户单击自动填充选项时,我想将它们重定向到基于唯一ID值的产品页面。 防爆。当我选择iphone 3g时,我希望它转到example.com/293 但是目前它接受的是输入内容而不是所选内容的值。 所以说我输入A并点击iphone 4g,它将无法存储iphone 4g的正确值,  但相反将存储以a开头的第一个项目的值。或者如果我输入iphone并选择iphone 4,它会将第一个iphone的值保存在数据库中

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

如何存储键值

$.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); 

    });

  }
});

我如何抓住价值

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

1 个答案:

答案 0 :(得分: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