为什么这个jquery脚本不能正常工作Code igniter

时间:2013-01-18 13:27:57

标签: php javascript jquery ajax codeigniter

我在代码点火器工作..我正在制作五行..实际上我正在做的是基于第一个选择框在第二个选择框中显示的选项.. 如果我不用循环制作五行,那么脚本工作正常,但如果我把它们放在一个循环中..选择不工作..在firebug中它给我回复错误并且说

  localhost/......./controller/get_items/undefined...

我不知道该代码中有什么错误

<?php 
for ($i = 0; $i < 5; $i++) {
?>
<?php echo form_dropdown('cat_id', $records2, '#', "id='category_".$i."'");?>

<?php echo form_dropdown('item_id', $records3, '#', "id='items_".$i."'"); ?>

<script type="text/javascript">
// <![CDATA[
$(document).ready(function()
{  
    for (var i= 0; i<5; i++)
    {
        $('#category_'+ i).change(function()
        {
            $('#items_'+ i > option").remove(); 
            var category_id = $('#category_'+ i).val(); 

            $.ajax({
                type    : "POST",
                url     : "stockInController/get_Items/"+category_id, 
                success : function(items)
                {
                    $.each(items,function(item_id,item_name) 
                    {
                        var opt = $('<option />'); 
                        opt.val(item_id);
                        opt.text(item_name);
                        $('#items_'+ i).append(opt); 
                    });
                }

            });
        });
    }
}      

1 个答案:

答案 0 :(得分:0)

据我所知,您的问题是解决方案。

你的功能应该是这样的

function getCategories(obj)
{

    var category_id = obj.id      ;
    $.ajax({
         type    : "POST",
         url     : "stockInController/get_Items/"+category_id, 
         success : function(data)
         {
             $('#'+id).html(data);// here you should provide 2nd dropdown id so that it can be replaced
         }
    });
}

控制器方法

function get_Items()
{
    $id =   $this->uri->segment(3);
    $data['result'] = $this->somemodel->getProducts($id);
        $this->load->view('options',$data);
}

查看

options.php

foreach($result as $row){
?> <option value = "<?php echo $row->item_id?>"><?php echo $row->item_name?></option><?php    
}

在每个类别的下拉列表中,您都应该调用此函数。

<?php echo form_dropdown('cat_id', $records2, '#', "id='category_".$i."' onclick = "getCategories(this)"");?>