繁体   English   中英

为什么我的php中的值不会填充select-option

How come values from my php dont populate in select-option

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

代码调用函数:

<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,它有值。

4 个回复

原谅间距,但我实际上只是使用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);
            }
        });
  });
});

输入类型选择没有onclick事件。 请改用onChange或onFocus事件。 你也不想在调用函数时使用return。 在你的场景中,使用return似乎毫无用处。 还要观看您使用过的选择器。

你的选择器不正确

更改$("#selectWarrior_1 select")

$("#selectWarrior_1")

您需要将data视为json对象:

function selectWarriors() {
    $.getJSON('display_warriors.php', function(data) {
        var toAppend = '';
        $.each(data, function(key, val) {
            toAppend += '<option>'+val+'<\/option>';
        });
        $("#selectWarrior_1").append(toAppend);
    });
}
3 jQuery SmoothScroll和Select-Option

我正在创建一个选择菜单,以使我的网站具有响应能力。 我正在使用smoothscroll( https://github.com/kswedberg/jquery-smooth-scroll )处理常规的href #hash链接菜单项的滚动,但是可以使用一些帮助使其在select&option中 ...

4 REACT JS中Select-Option的验证

我正在使用选择选项来呈现下拉内容。 代码: 我想要相同的验证。 我试过了:将必填字段//使用renderValue = {{(value)=&gt; ⚠️ - ${value} }} //将FormControl的错误var设置为true //在Form等中设置validated = {tr ...

2020-07-16 17:05:57 0 25   reactjs
6 ng-model值未反映在select-option中

当我尝试单击页面视图上的“编辑”时,它会将值显示为可编辑。 device.exists是一个属性, device.exists是一个布尔值,但是当原始值为false ,当我单击edit时,第一个选项true仍然显示。 如何使选择option反映模型的原始值? PS我没有使用ng-va ...

8 使用 Jquery 在循环中获取 Select-Option 的值

我正在尝试制作一个 Asp.Net Mvc Ajax 项目。我必须在循环中使用 jquery 获取 select-option 的值。所有选择的 id 都相同,当我尝试它时,名称是相同的,它采用第一个选择的值。顺便说一句我已经尝试了此标题中的所有内容: jQuery Get Selected Opt ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM