0

我的自动完成数据是这样的 {"label":"Apple iPhone 3G","values":"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;
4

1 回答 1

0

为什么不只是对事件做点什么select。IE

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

这样,如果用户从列表中选择了某些内容,您可以从那里调用事件并知道该项目存在。如果他们没有从列表中选择它,它将在他们单击搜索按钮或按 Enter 时执行搜索。

您甚至可以以相同的方式更改选择的值

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

文档可以在这里找到

于 2012-08-09T21:02:37.260 回答