0

我正在使用代码点火器..我正在制作五行..实际上我正在做的是根据第一个选择框显示在第二个选择框中的选项..如果我不使用循环制作五行然后脚本工作正常但如果我把它们放在一个循环中..选择不起作用..在萤火虫中它给我的回应是错误的并说

  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); 
                    });
                }

            });
        });
    }
}      
4

1 回答 1

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);
}

看法

选项.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)"");?>
于 2013-01-18T18:05:37.657 回答