当其他选择列表发生变化时,如何更改选择列表选项?

时间:2013-01-11 11:34:59

标签: php jquery codeigniter

我的html中有两个选择列表,两个都保存在数据库中,我想知道当用户使用jquery更改select 1时,如何更改selectlist 2中的值?

我正在尝试在codeigniter中做这些事情,所以请帮助我,我之前使用jquery做过这些事情但是在简单的PHP中通过将值传递给jquery的加载函数,但这在codeigniter中不起作用,有人请帮帮我

谢谢,

Shah RUkh

2 个答案:

答案 0 :(得分:2)

比如说你有这个下拉列表

   <select id="select_1">
       <option value="">Select</option>
       <option value="1">1</option>
       <option value="2">2</option>
   </select>

   <select id="select_2">
       <option value="">Select</option>
   </select>

在更改select_1下拉列表时,您应该获取值并向控制器函数执行AJAX请求,这将返回select_2的选项,而不是简单地将select_2的html替换为来自脚本的返回响应

                $('#select_1').change(function(){
                    var id = $(this).val();
                    $.ajax({
                            type: "POST",
                            url: base_url+'controller/action/',
                            data: 'id='+id,
                            success: function(html){
                                $('#select_2').html(html);
                            }
                       });
                });

对于codeignitor,在ajax请求的url参数中使用base_url。您可以为base_url定义一个CDATA变量,您可以在ajax请求中使用该变量,您可以在header.php文件中定义它。

                <script type="text/javascript">
                   //<![CDATA[
                        base_url = '<?php echo base_url();?>';
                   //]]>
                </script>

答案 1 :(得分:0)

好的,我已经使用jQuery

完成了它
 <script type="text/javascript">
  $(document).ready(function()
    {
    $("#slect_1").change(function() 
        {
         id = $("#select_1").val();
         $("#select_2").load("<?php echo site_url('class/method'); ?>/"+id);
    });
      });
  </script>

谢谢,

Shah Rukh