【发布时间】:2014-11-12 01:03:38
【问题描述】:
我有一个 PHP 调查表,其中一个问题是“你最喜欢的电影是什么?” 对于这个问题,有一个单选按钮,其值为“按标题”和“按演员”。如果用户选择“按演员”,则会出现一个文本框,他可以在其中输入演员姓名(带有 jQuery 自动完成功能)。然后,如果单击“该演员的电影”按钮,则会出现一个新窗口,他/她将在其中看到插入在文本框中的该演员的电影列表。 下图是为了更好地解释:
我的问题:
如何将此电影列表显示为可选链接或旁边带有小图像的图标? (如amazon search,当我们在文本框中输入演员姓名时,通过单击“开始”按钮,它会显示带有链接和图像的电影列表。
这是我的代码:
<html>
<body>
<div id="m_scents2" class="field2" style="display:none;">
<input type="textbox" name= "tag" id="tags" placeholder="Enter an actor/actress name here" />
<input type="button" value="Movies by this actor" id="btnRight" />
</div>
<script type="text/javascript">
var selectedVal;
$(document).ready(function () {
//....
//...
if ($(this).val() == "byActor"){
$("#m_scents").hide();
$("#m_scents2").show();
$("#tags").focus();
$("#tags").autocomplete({
source: "actorsauto.php",
minLength: 2,
focus: function( event, ui ){
event.preventDefault();
return false;
},
select: function (event, ui){
window.selectedVal = ui.item.value;
}
});
});
</script>
</body>
</html>
$('#btnRight').on('click', function (e) {
popupCenter("movieByactor.php","_blank","400","400");
});
这是一个子代码(movieByactor.php):
<html>
<body>
<div id= "field"
</div>
<script type="text/javascript">
var selectedVal = parent.window.opener.selectedVal;
$.ajax({
url: 'childfilm.php', //THIS IS A PHP FILE CONTAIN QUERY TO SELECT MOVIES BY THE INSERTED ACTOR IN THE TEXTBOX
datatype: "json",
data:{q:selectedVal},
success: function(response) {
$("#field").html(response);
}
});
</script>
</body>
</html>
UPDATE_1:
这是 childfilm.php:
if(isset($_GET['q']) && !empty($_GET['q'])){
try{
include('imdbConnection.php');
$sql = $conn->prepare("SELECT DISTINCT movieName FROM cast_movie WHERE castName = :q");
$sql->execute(array(':q' => $_GET['q']));
while($rows = $sql->fetch(PDO::FETCH_ASSOC)){
$option = '<option value="' . $rows['movieName'] . '">' . $rows['movieName'] . '</option>';
$html .= $option;
}
} catch(PDOException $e){
echo 'ERROR: ' . $e->getMessage();
}
echo $html;
exit;
【问题讨论】:
-
您在寻找 jQuey 自动完成功能吗?
-
@voidmain:不!实际上我可以在自动完成结果中集成一个小图像......但这不是我想要的......请在我的问题中查看亚马逊链接,您可能会更好地了解我在寻找什么。
-
您需要更改 childfilm.php 中的输出以创建链接。当您通过 AJAX 接收它们并将它们放在
#field中时,它们将被呈现为链接。在此处发布 childfilm.php 的代码。 -
@voidmain:我在子窗口中没有自动完成功能!我只想显示带有图像的电影列表(如亚马逊)
-
您使用的是什么 jquery 插件?我已经使用 jquery ui autocomplete 和 select 2 完成了
标签: javascript php jquery html ajax