javascript - 如何使用 json 函数用数据库填充组合框?

标签 javascript mysql ajax database combobox

我是 html 的新手,正在尝试建立数据库之间的关系。我想用数据库填充框

我有这样的代码

<div class="content" data-role="content" id="content" >
         <div id="car">
            <select name="selectCar" class="span12" id="Options" >
            <option value="-1">Bir istasyon seçiniz.</option>
            <option value="1">Mimarlık</option>
            <option value="2">Yurtlar</option>
            <option value="3">Bilgisayar Mühendisliği</option>
            <option value="4">Kimya Mühendisliği</option>
            <option value="5">Rektörlük</option>
            </select>           
         </div>
         <div id="cinfo"></div>

        <button onclick="javascript:callCarInfo.call(this,document.getElementById('Options').value);">Call Podcar</button>

      </div>

这里

            <option value="1">Mimarlık</option>
            <option value="2">Yurtlar</option>
            <option value="3">Bilgisayar Mühendisliği</option>
            <option value="4">Kimya Mühendisliği</option>
            <option value="5">Rektörlük</option>

我想用数据库填充这个值和站名

我还有一个站功能就是

function getStationList()
{
    $db = new DBManager();
    $mysqli = $db->db_connect();

    $query = "SELECT stationId FROM Station";

    $stmt = $mysqli->prepare($query);
    $stmt->execute();
    $result = $stmt->get_result();

    $list = array();

    while($row = $result->fetch_assoc())
    {
        $list[] = $row['stationId'];
    }

    return json_encode($list);
}

我尝试使用 ajax 函数,但我做不到,这是

$.ajax({
    url:'Stations.php',
    type:'POST',
    data: 'q=' + str,
    dataType: 'json',
    success: function( json ) {
        $.each(json, function(i, value) {
            $('#myselect').append($('<option>').text(value).attr('value', value));
        });
    }
});

最佳答案

JS (page.html):

$(document).ready(function() {
  $.ajax({
    url:'Stations.php',
    type:'POST',
    data: 'q=' + str, // not sure you need that as you are not filtering on server side
    dataType: 'json',
    success: function( json ) {
        $.each(json, function(i, value) {
            $('#myselect')
                  .append($('<option></option>', {text:value})
                  .attr('value', text);
        });
    }
  });
})

HTML (page.html):

<div class="content" data-role="content" id="content" >
         <div id="car">
            <select name="selectCar" class="span12" id="Options" ></select>           
         </div>
         <div id="cinfo"></div>
        <button onclick="javascript:callCarInfo.call(this,document.getElementById('Options').value);">Call Podcar</button>
</div>

站.php :

<?php
getStationList();
?>

快速解释:当 page.html 加载并准备就绪时,它会对 Stations.php 进行 ajax 调用以获取 Stations 列表。在响应时,它迭代结果并将每个结果的选项元素添加到具有 id“选项”的选择元素。

关于javascript - 如何使用 json 函数用数据库填充组合框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450117/

相关文章:

javascript - 浏览器桌面通知处理 onClose 事件

javascript - 让客户端浏览器了解事件(如新聊天消息)的最佳方式是什么?

javascript - AJAX 返回响应,但不将响应中的 HTML 代码附加到 div

php - 尝试将 EC2 服务器连接到 RDS mySQL 时出错

php - 使用 AJAX、PHP 和 MySQL 在日期之间进行过滤

css - AJAX 和 CSS 的 TinyMCE 和 CKEditor 问题

javascript - 使用HTML5 Canvas 拖放不规则图像

javascript - JS 设置 attr(value) 不会在 DOM 中返回

javascript - 音频开始延迟时如何播放视频媒体源扩展?或者如何用ffmpeg修复它?

MySQL - 我应该如何为此做 JOIN? (也解释谢谢)