javascript - 在不刷新网页的情况下加载 MySQL 数据

标签 javascript php jquery mysql

我尝试根据另一个选择框的值填充一个选择框,方法是使用 jQuery 从从 MySQL 数据库获取数据的 PHP 脚本中获取 JSON 数据。 这是我的 table : enter image description here

我希望,如果我从第一次选择中选择了不同的水果,它会改变第二次选择中的可用品种。

根据我的脚本,我无法在第二个选择中获得相应的可用品种,我的脚本出了什么问题。

<form>
Fruit:
<select name="name" id="fruitName">
    <option>Apple</option>
    <option>Banana</option>
    <option>Orange</option>
    <option>Pear</option>
</select>
Variety:
<select name="variety" id="fruitVariety">
</select>
</form>

<script>
function populate() {
    $.getJSON('varities.php', {fruitName:$('#fruitName').val()}, function(data) {
    var select = $('#fruitVariety');
    var options = select.attr('options');
    $('option', select).remove();
    $.each(data, function(index, array) {
        options[options.length] = new Option(array['variety']);
    });
});
}

$(document).ready(function() {
populate();
$('#fruitName').change(function() {
    populate();
});
});
</script>

这是我的 varities.php 脚本

$result = array();
$fruitName = $_GET['fruitName'];
$res=mysql_query("SELECT variety FROM fruit WHERE name = '$fruitName' ORDER BY variety");
while ($row=mysql_fetch_array($res)){ 
    array_push($result, array('variety'=>$row['variety']));
}
echo json_encode(array('result'=>$result));

有什么建议吗?

最佳答案

试试下面的函数

function populate() {
    $.getJSON('varities.php', {fruitName:$('#fruitName').val()}, function(data) {
    var select = $('#fruitVariety');
    var options = select.empty();//empty the select box
    $.each(data.result, function(index, array) {//don't forget you have a result array
        select.append('<option value="'+array.variety+'">'+array.variety+'</option>');//append the option elements
    });
});
}

关于javascript - 在不刷新网页的情况下加载 MySQL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565223/

相关文章:

PHP/PDO 使用关联数组在记录集中导航。

javascript - 使用 'datatable' 插件将 JSON 转换为 HTML 表

JavaScript - href vs onclick 用于超链接上的回调函数

javascript - 反转此特定 html5 视频播放器的静音/取消静音功能

php - 来自 url 的 file_get_contents 只能在登录网站后访问

javascript - 为什么 serializeArray() 返回小回车箭头而 val() 不返回?

javascript - Meteor JS - 按 ID 从集合中调用单个文档

javascript - 使用 $.ajax({}) 时 Express Session 不保存;

javascript - IntelliJ IDEA 2016.1 JavaScript 调试器错误

php - 如何知道访问 token 是否在 Google Api PHP 中过期