2014-10-28 24 views
0

我有这个问题:PHP:两个<select>,第一个媒体链接填写,第二个我想,以填补值

<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">'); ?> 

现在,我想做的事情。 第二个选择列表最初为空。 我想填充它的值取决于在第一个选择列表中选择什么。

我该怎么做?只有在第一个选择列表中选择了某些内容时才填写第二个选择列表。

+0

尝试使用AJAX的数据。如果你尝试了,而且你不能工作,再问一次,我会进一步帮助 – 2014-10-28 19:16:24

+0

嗨@GusDB,你能帮助我吗?我尝试了AJAX,但我没有得到它的工作。如果您需要更多关于该代码内容的信息,请询问。 – Dan 2014-10-29 08:11:34

+0

这些数组($类别和第二个)从我的控制器发送后,我查询我的数据库。 – Dan 2014-10-29 08:14:02

回答

1

MrCode有一个很好的例子给你。

Using Ajax To Populate A Select Box

<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> 

你select.php应该json_encode()要填写您选择与

0

处理此问题的最佳方法是在第一个列表上进行更改后填充列表。例如。我不得不做几个假设。例如你的some.php会带一个值参数。返回值是json数组[{id:1,name:“option 1”},{id:2,name:“option 2”}]。请记住这一点。

相关问题