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