脚本不起作用

时间:2017-01-01 09:11:02

标签: javascript php

在我生成的PHP网页中,有3个链接的列表框。当用户更改list_1中的选择时,list_2和list_3的内容会相应更改(例如,它会在包含 continent -> country -> city 的3个列表中更改。)

代码是:

PHP(032A_GetProvincie.php)[已编辑]

$provincie = array();

$query = 'SELECT nume_prov FROM sa_Provincie ';
$query .= 'WHERE provincie_id > 777 ';
$query .= 'ORDER BY nume_prov';

// Get query ---------------------------------------------------

$query_data = mysqli_query($db_conn, $query);

if ($query_data == FALSE)
   {
   array_push($provincie, 'None found');
   goto _adr1;
   }

$rows = mysqli_num_rows($query_data);
if ($rows == 0)
   {
   array_push($provincie, 'None found');
   goto _adr1;
   }

// Build array -------------------------------------------------

array_push($provincie, 'All_';

while ($row = mysqli_fetch_array($query_data))
      array_push($provincie, $row['nume_prov']);

// End 

_adr1:
print json_encode($provincie);

mysqli_free_result($query_data);
mysqli_close($db_conn); 

的Javascript

$(document).ready(function()
{
$.getJSON("/scripts/032A_GetProvincie.php", function(data)
   {
   var str_options = "";
   for (var i = 0; i < data.length; i++)
       {
       str_options += "<option value='" + data[i] + "'>" + data[i] + "</option> \r\n";
       }

   $("#listaProvincie").append(str_options);

   $("#listaProvincie").change();
   });


$("#listaProvincie").change(function()
{
$.getJSON("/scripts/032B_GetRegiune.php?provincie=" + $(this).val(), function(data)
   {
   var str_options = "";
   for (var i = 0; i < data.length; i++)
       {
       str_options += "<option value='" + data[i] + "'>" + data[i] + "</option> \r\n";
       }

   $("#listaRegiune").html("");
   $("#listaRegiune").append(str_options);

   $("#listaRegiune").change();

   });
});
...

listaProvincie是list_1,listaRegiune是list_2等。当PHP查询返回数据时,列表会相应地填充;

然而,如果查询中没有返回任何数据,则“找不到”行不会显示为list_1中的选项,列表仍为BLANK。

我是一个Javascript菜鸟,所以也许我不明白一些基本的东西,但我的代码有什么问题?请不要试图给我一个使用Ajax的解决方案,我对此几乎一无所知。

注意:在我在此处显示的代码中,我的PHP查询的WHERE子句故意包含条件provincie_id > 777,我知道它不返回任何行,但list_1仍为空。我在想,我在数组中推送的任何值都应该出现在列表中,不应该吗?

[编辑1]不,这不对。当我将值直接推送到$ provincie(PHP数组)时,该脚本不再起作用。为什么???如果032A_中出现问题,我如何调用调用032A_GetProvincie.php的JavaScript脚本的主页PHP页面??

[编辑2]我不确切知道为什么,但是经过一些更加烦躁之后,array_push()“开始”按照应该工作的方式工作,我的问题得到了解决。我也是一个PHP ROOKIE。好吧,我在9个月前开始用PHP编程,来自VisualStudio。在那里,事情变得更加简单明了。

0 个答案:

没有答案