【问题标题】:can't GETjson data in <option> box as a drop dow list无法将 <option> 框中的 json 数据作为下拉列表获取
【发布时间】:2016-05-03 18:47:21
【问题描述】:

我的网站有问题,我需要为 Uni 制作,我应该创建一个仅使用一个 HTML 页面来显示数据库中的表格的网站,允许用户搜索数据并删除数据。

我要做的是将所有表格显示为下拉框中的选项,然后将每个单独的表格完全显示在其中,但无法使其正常工作。 我之前设法让它工作,但现在它不再工作了。 我正在使用 getJSON 方法从 PHP 页面获取信息。

我已经写了下面的代码我遇到了麻烦

<script> src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
function setupTableNamesList() {
     $.getJSON ("getTableName.php", function jsondata() {
             if ( jsondata.names.length > 0 ) {
                var html1 = '<select id="tablename" name="tablename">';
                html1 + = '<option value="none">Please select a table</option>';
                for ( i = 0; i < jsondata.names.length; i++ )
                    html1 + = '<option value="' + jsondata.names[i] +'">' + jsondata.names[i] + '</option>';
                html1 + = "</select>";
                $("#reports").html(html);
                $("#tablename").change( changeHandler );
             }
    }//function
);

【问题讨论】:

  • 错字$("#reports").html(html); 应该是$("#reports").html(html1);
  • 您需要在顶部修复您的脚本标签,语法为&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;。此外,您还应该将所有 javascript 函数都包含在 &lt;script&gt; 标记中。

标签: php html json getjson


【解决方案1】:

错字$("#reports").html(html); 应该是$("#reports").html(html1);

更新

您忘记了}if

if ($("#tablename").prop("selectedIndex") > 0) {
  $.getJSON("getTableData.php?tablename=" + $("#tablename").val(),
    function(jsondata) {
      if (jsondata.rows > 0) {
        var html = '<table id="myTable" class="tablesorter"><thead><tr><th>Row</th>';
        for (i = 0; i < jsondata.columns; i++)
          html += "<th>" + jsondata.headings[i] + "</th>";
        html += "</tr></thead><tbody>";

        for (row = 0; row < jsondata.rows; row++) {
          html += "<tr><td>" + (row + 1) + "</td>";
          for (column = 0; column < jsondata.columns; column++)
            html += "<td>" + jsondata.data[row][column] + "</td>";
          html += "</tr>";
        }
        html += "</tbody></table>";
        $("#tablearea").html(html);
      } // <----------------------------------- You forgot this here.
    });
}

【讨论】:

  • 我改了,还是不行。不知道为什么我不工作at-web2.comp.glam.ac.uk/students/13025902/PDO/index222.html
  • @Jordan'clem'Thomas Uncaught SyntaxError: Unexpected token )
  • 这很奇怪,它似乎用 chrome 加载,但它只是一个空白页面
  • @Jordan'clem'Thomas 请参阅上面的更正。如果可行,请点击勾选按钮接受我的回答。
  • @Jordan'clem'Thomas 我也在使用 Chrome。按F12 按钮检查控制台。
猜你喜欢
  • 2014-07-20
  • 1970-01-01
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多