php - 为什么我的 php 中的值没有填充到选择选项中

标签 php json jquery

调用函数的代码:

<select id="selectWarrior_1" name="warrior_1"  onclick="return selectWarriors()">
                    <option  selected="selected">----Select----</option>
                </select>

函数代码:

function selectWarriors() {
        $.ajax({
            url: "display_warriors.php",
            datatype:"json",
            success: function(data) {
                var toAppend = '';
                if(typeof data === "object"){
                    for(var i=0;i<data.length;i++){
                        var warrior = data[i];
                        toAppend += '<option>'+data[i]['warrior_name']+'</option>';
                    }
                    $("#selectWarrior_1 select").append(toAppend);
                }
            }
        });
        return false;
    }

我的 php 代码:

    <?php
header("Content-Type: application/json");

include 'functions/class.php';

$db = new DB();

$result = $db->getWarriors();

$warriors = array();

foreach($result as $names){
    $warriors[] = $names;
}
echo json_encode($warriors);
?>

我该如何解决这个问题?为什么它没有填充我的选择选项,我检查了我的 json 并且它有值。

最佳答案

请原谅空格,但实际上我只会使用 jquery,而不会混淆函数之间的传递(如果您异步重新填充内容,这可能会在以后引起问题)。

$(function(){
  $('#selectWarrior_1').bind('click',function(){
        if ( $(this).data('warriors-loaded') ) { return; }
        var self = $(this);
        $.ajax({
            url: "display_warriors.php",
            datatype:"json",
            success: function(data) {
              if (! typeof data == 'object') return false;
              $.each(data, function(i,e) {
                self.append( $('<option>' + e['warrior_name'] + '</option>') );
              }
              self.data('warriors-loaded',true);
            }
        });
  });
});

关于php - 为什么我的 php 中的值没有填充到选择选项中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12401812/

相关文章:

php - 在帖子标题中使用 wordpress 简码

java - 当JsonArray嵌套到另一个JsonArray时如何使用Retrofit2进行反序列化

Javascript 点击功能不起作用

php - PHP准备好的语句不插入

php - 我可以在另一个文件中运行 sql 查询吗?

javascript - 使用 javascript 调用并显示嵌套数组中的图像

jquery - 使用 jQuery-One-Page-Nav 的 Bootstrap 固定 header

jquery - 如何删除和禁用Ninja Slider中的下一个,上一个按钮

javascript - 在 jQuery 中获取 anchor 标记值

javascript - AngularJS $HTTP.json