Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态下拉菜单不显示任何内容_Php_Jquery_Ajax_Drop Down Menu_Autocomplete - Fatal编程技术网

Php 动态下拉菜单不显示任何内容

Php 动态下拉菜单不显示任何内容,php,jquery,ajax,drop-down-menu,autocomplete,Php,Jquery,Ajax,Drop Down Menu,Autocomplete,我正在尝试启用用户按标题或演员选择电影,例如,如果他忘记了电影名称但记住了电影中的某个演员,他可以通过键入演员名称来查找电影。我使用jQuery自动删除来获取电影名或演员名 下面是我试过的。自动完成部分可以正常工作,即当用户选择moviebyTitle并开始编写标题时,自动完成建议也可以工作,演员姓名也可以 问题: 当用户写入演员姓名时,自动完成功能正常,同时会出现一个动态下拉菜单,但问题是该下拉菜单没有显示任何内容:|是否有人能帮我找到该代码的问题?谢谢 <select id="sele

我正在尝试启用用户按标题或演员选择电影,例如,如果他忘记了电影名称但记住了电影中的某个演员,他可以通过键入演员名称来查找电影。我使用jQuery自动删除来获取电影名或演员名

下面是我试过的。自动完成部分可以正常工作,即当用户选择moviebyTitle并开始编写标题时,自动完成建议也可以工作,演员姓名也可以

问题: 当用户写入演员姓名时,自动完成功能正常,同时会出现一个动态下拉菜单,但问题是该下拉菜单没有显示任何内容:|是否有人能帮我找到该代码的问题?谢谢

<select id="selectType" name="source">
  <option value="">MoviesBy</option>
  <option value="byTitle">byTitle</option>
  <option value="byActor">byActor</option>
</select>

<input type="textbox" name= "tag" id="tags">

<select id="movieImdbId" name="movieImdbId[]" multiple="multiple" width="200px" size="10px" style="display: none;">  
</select>

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" /> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
$(document).ready(function () {
           //Create widget with default data source
           $("#tags").autocomplete({
               source: "actorsauto.php",
               minLength: 2
           });

           $("#selectType").change(function () {
               // Assign new data source like that :

               if ($(this).val() == "byTitle")
                   $("#tags").autocomplete("option", "source", "filmsauto.php");
               else 
                if ($(this).val() == "byActor"){

                  $("#tags").autocomplete({
                  source: "actorsauto.php",
                  minLength: 2,
                  select: function (event, ui){
                    var selectedVal = $(this).val(); //this will be your selected value from autocom plete
                 // Here goes the ajax call.

                   $('#movieImdbId').show();
                   $.post("actions.php", {q: selectedVal, q2: $("#selectType").val()}, function (response){
                // response variable above will contain the option tags. Simply put in the dropdown.

                $("#movieImdbId").html(response);
              });
          }
        });
      }
    });
});

</script>
下面是actions.php:

更新: 这就是我所看到的:

您正在混合使用mysql和PDO,因此尝试使用PDO而不是mysql。 您还需要在$html变量中添加值,而不是一次又一次地覆盖值。 像这样更改代码的下半部分,因为

$results = $sql->fetchAll(PDO::FETCH_OBJ);
while($results as $row){

   $option = '<option value="' . $row->movieImdbId . '">' . $row->movieImdbId . '</option>';

$html.= $option;
}
echo $html;
exit;

您将MySQL API与PDO和MySQL_fetch_对象混合在一起,这样会破坏它。它们根本不混合在一起。斯库西,马诺·贝尼·莫纳。使用它的等价物fetch,这样每次while循环都会重建htmliterates@Fred-ii-:你说得对,我更新了它,但仍然不起作用:|你是否在用$con->setAttributePDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION检查错误@mOna替换$html=$option;带有$html。=$选项;像这样更改代码的下半部分-因为…-OP站在再次犯同样的错误,如果不告诉原因的话。@Fred ii-先生,我添加了“因为你这么多”先生:似乎OP只是将问题中的代码更改为while$row=$sql->fetchPDO::FETCH_OBJ显然仍然没有结果。@RamSharma当我放入$'movieImdbId'.show;在$.postactions.php…行之后,它什么也不做,甚至不显示空下拉列表
$results = $sql->fetchAll(PDO::FETCH_OBJ);
while($results as $row){

   $option = '<option value="' . $row->movieImdbId . '">' . $row->movieImdbId . '</option>';

$html.= $option;
}
echo $html;
exit;