jQuery自动完成。 在选择时,提醒其值在建议中

我用jQuery自动完成插件进行电影搜索。 每部电影的ID都来自IMDb的ID。 现在,我解析该ID的方式来自PHP,并且包含在一个带有class =“imdbID”的span中。 所以它看起来像这样:

  • Movie title 1tt345813
  • Movie title 1tt346413
  • Movie title 1tt789675
  • Movie title 1tt185858
  • 然后继续 以下是一个真实的例子: http : //www.screenr.com/aH0s

    现在,我想选择一部电影并提醒imdbID值。

    如果我使用这种方法:

     select:function(a,b){ var bbbb = $(".imdbID").text(); alert(bbbb); } 

    我得到所有跨度的值如下:

    所以我的问题是,如何才能获得所选自动完成值的.imdbID?

    谢谢

    引用你的PHP代码的其他问题,我会做这样的事情( 请带上一点点,我不知道PHP ):

     $tmdb = new TMDb($api_key); $json = json_decode($tmdb->searchMovie($_GET['term'])); $response = array(); $i=0; foreach($json as $movie){ if(!$movie->imdb_id || $movie->adult) continue; if($i >= 6) break; $response[$i]['value'] = $movie->name; $response[$i]['label'] = $movie->name . ' (' . date('Y',strtotime($movie->released)).') (' . $movie->imdb_id . ')'; $response[$i]['imdbid'] = $movie->imdb_id; $i++; } echo json_encode($response); 

    这个想法是你将imdbid添加为你发送给客户端的JSON有效负载的属性。

    然后在select事件上:

     $("input").autocomplete({ /* snip */ select: function (event, ui) { alert(ui.item.imdbid); // <-- alert the imdbid property } }); 

    回调function(event, ui)接收两个参数function(event, ui) 。 e.originalEvent应该为您提供触发select事件的click事件及其目标ul

     $(e.originalEvent.target).find(".imdbID").text(); //Gets you the IMDB key