【问题标题】:ajax html response custom showajax html响应自定义展示
【发布时间】:2014-11-12 01:03:38
【问题描述】:

我有一个 PHP 调查表,其中一个问题是“你最喜欢的电影是什么?” 对于这个问题,有一个单选按钮,其值为“按标题”和“按演员”。如果用户选择“按演员”,则会出现一个文本框,他可以在其中输入演员姓名(带有 jQ​​uery 自动完成功能)。然后,如果单击“该演员的电影”按钮,则会出现一个新窗口,他/她将在其中看到插入在文本框中的该演员的电影列表。 下图是为了更好地解释:

我的问题:

如何将此电影列表显示为可选链接或旁边带有小图像的图标? (如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 autocompleteselect 2 完成了

标签: javascript php jquery html ajax


【解决方案1】:

您只需要更改输出以适应您的情况。例如,改变这一行 -

$option = '<option value="' . $rows['movieName'] . '">' . $rows['movieName'] . '</option>';

类似于 -

$option = '<a href=movie.php?title="' . $rows['movieName'] . '">' . $rows['movieName'] . '</a><br />';

将输出一个指向名为movie.php的页面的链接,该页面在查询字符串中引用电影的标题,例如 -

http://www.example.com/movie.php?title=Big

您可以为每个退回的物品添加图片、图标或任何您想要的标记。

【讨论】:

  • 哈哈!是的,我相信:布兰查德 == 史密斯哈哈哈!是的,它们在整个 N.S.不仅在那儿,而且在新不伦瑞克省也是如此。你知道 dah cajun 住在哪里;) J'adore le gumbo aussi ;) 祖父母有最好的(如果可以说)“la bonne 美食”食谱。熏黑的鳄鱼,jumbalaya...是的,我知道所有关于dat的东西。
  • Laissez les bons ton (temps) 滚轮! ♫
  • Rouler avec les bons tons!
  • 我刚刚查看了您的 Twitter 个人资料。在我写到上面之前,我什至不知道你们都住在卡津国家,老实说。你和我是异世的兄弟,真的嘿嘿嘿。音乐家,摄影师,唐诗的建造者。伙计,你们都是一个随地吐痰的形象哈哈 - 减去爸爸的部分,虽然哈哈! Goatie 'n all - 实际上我有几个朋友住在那里。
  • 我不认为它成功了。我希望您已将其保存在“已发送”部分。我会向你开一枪,你会知道是我。
猜你喜欢
  • 1970-01-01
  • 2019-08-18
  • 2023-03-25
  • 1970-01-01
  • 2021-10-28
  • 2014-12-30
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
相关资源
最近更新 更多