Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP:Two,第一个是allready fill,第二个是我想用值填充的_Javascript_Php_Mysql_Ajax_Codeigniter - Fatal编程技术网

Javascript PHP:Two,第一个是allready fill,第二个是我想用值填充的

Javascript PHP:Two,第一个是allready fill,第二个是我想用值填充的,javascript,php,mysql,ajax,codeigniter,Javascript,Php,Mysql,Ajax,Codeigniter,我有这个问题: <fieldset> <?php echo form_open('rssFeedReader/addSource'); echo '<h2><small>(*) Select in which category you want to add a new Rss Source </small><h2>'; echo '<div class="form-group">';

我有这个问题:

<fieldset>
<?php
    echo form_open('rssFeedReader/addSource');

    echo '<h2><small>(*) Select in which category you want to add a new Rss Source </small><h2>';

    echo '<div class="form-group">';
        echo '<select class="form-control input-lg" name="category" id="category">';
        foreach( $categories as $row )
        {
            // here i have some values from my database
            echo '<option value="'.$row->id.'">' . $row->category_name . '</option>';
        }
        echo '</select>';
    echo '</div>';

   // NOW, HERE I WANT TO PUT ANOTHER <SELECT>
        echo '<div class="form-group">';
        echo '<select class="form-control input-lg" name="anotherID" id="anotherID">';
        foreach( $array as $r)
        {
            // here i have some values from my database
            echo '<option value="'.$r->something.'">' . $r->something_else. '</option>';
        }
        echo '</select>';
        echo '</div>';



    echo '<div class="form-group">';
        echo form_submit(array('class' => 'btn btn-primary btn-lg btn-block', 'id' => 'remove_source', 'name' => 'remove_source', 'value' => 'Remove Source'));
    echo '</div>';
?>

<?php echo validation_errors('<p class="error">'); ?>
现在,我想做什么。 第二个选择列表最初为空。 我想根据在第一个选择列表中选择的内容用值填充它


我该怎么做?仅当在第一个选择列表中选择了某些内容时,才填充第二个选择列表。

处理此问题的最佳方法是在第一个列表上进行更改后填充列表。比如说

$("#category").on("change", function(){
    var selectedValue = $(this).val();
    $.get("some.php?value=" + selectedValue, function(response){
        var options = "";
        for(var i = 0; i < response.length;i++){
            var val = response[i];
            options += "<option value='" + response[i].id + "'>" + response[i].name + "</option>";
        }
        $("#anotherID").empty().append(options);

    });
}
我不得不做出一些假设。例如,some.php将采用一个value参数。返回的是json数组[{id:1,name:option 1},{id:2,name:option 2}]。请记住这一点。

为您提供了一个很好的例子


php应该对要填充select的数据进行json_编码

尝试使用AJAX。如果您尝试了,但无法使用,请再次询问,我将帮助Futurehi@GusDB,您能帮我吗?我尝试使用AJAX,但没有成功。如果您需要关于代码中的内容的更多信息,请询问。这些数组$categories和第二个数组是在我查询数据库后从我的控制器发送的。
<script type="text/javascript" charset="utf-8">
    $(document).ready(function(){
        $('#category').on('change', function (){
            $.getJSON('select.php', function(data){
            var options = '';
            for (var x = 0; x < data.length; x++) {
                options += '<option value="' + data[x]['id'] + '">' + data[x]['name'] + '</option>';
            }
            $('#anotherID').html(options);
        });
    });
});
</script>