使用AJAX在Codeigniter中根据下拉值获取数据库值

时间:2016-08-09 07:31:54

标签: javascript ajax database codeigniter drop-down-menu

我想使用ajax根据下拉值从数据库中检索值 在这里,我附上了我需要的截图。一旦我们改变年份,结果应该改变。

所以请帮我完成这个任务。提前致谢 :)

3 个答案:

答案 0 :(得分:1)

有两种方法可以做到:

  1. 在下拉更改时,您可以重新加载整个页面,并在页面的网址中附加年份,并根据附加的年份值显示您的结果。
  2. 您可以在更改年份下拉列表时使用ajax调用,并在div中加载特定内容。
  3. ajax方法:

    var dropdownSelection = $('#dropdown_id').val();
    $.ajax({
        url         : 'proccess.php',
        method      : 'get',
        data       :
        {
            selection : dropdownSelection,
    
        },
        success    : function(response)
        {
            $('#div_result').html(response);
        }
    });
    

答案 1 :(得分:1)

<script type="text/javascript">
jQuery(document).ready(function(){
  $("#district").change(function() {
    var vdcID = {"district_id" : $('#district').val()};
      $.ajax({
      type: "POST",
      data: vdcID,
      url: "<?php echo base_url(); ?>admin/ajax/showVdcById",
      dataType: 'json',
    success: function(data){
      $('#vdc').html("<option>Please Select VDC</option>  ");
        $.each(data, function(i, data){
             $('#vdc').append("<option value='"+i+"'>"+data+"</option>");
        });
       }
     });
   });
 });

此代码可能会对您有所帮助。它从下拉列表获取值,并根据它发送到数据库的ID

更新另一个下拉列表中的值

答案 2 :(得分:1)

将onchange事件updateMonths()添加到年份选择标记

function updateMonths()
    {
        var selectedYear    =   $('#year').val();

        if(selectedYear!= "")
        {

            $.ajax({
                      type: "POST",
                      data: { "year":selectedYear },
                      url: "<?php echo base_url(); ?>admin/ajax/getAllMonths",
                      dataType: 'json',
                        success: function(data){

                            $.each(data, function(i, data){

                                $('#month').append($('<option>', {
                                            value: i,
                                            text: data
                                    }));
                            });
                        }
                    }); 
        }       
    }