获取id并在codeigniter中的UI Modal上传递它

时间:2013-04-03 06:27:13

标签: jquery codeigniter

我使用以下代码在Jquery Ui对话框Modal中加载视图。

打开Modal的Javsscript代码:

<script>
       $.fx.speeds._default = 1000;
        $(function() {
            $( "#dialog_1" ).dialog({
                autoOpen: false,
                show: "blind",
                hide: "explode",
                height: 350,
                width: 450,
                modal: true
            });

            $('.loginForm').click(function(){               
                $('#dialog_1').dialog('open');
                return false;
            });     
        });
</script>

点击此开放对话框:

<a class="loginForm" href=""  id="<?php echo $info['clf_id'];?>">
   <?php echo $info['clf_title'];?>
</a>

这是加载模态的div,我在其中加载视图:
这是我遇到问题我已经通过函数$id中的classified_details($id); 此ID是上述<a>标记的实际ID 我怎么能在我的代码中执行此操作或应该使用其他方式???

<div id="dialog_1">
 <?php
    $data['classfied_details'] = $this->classified_model->classified_details($id);
    $this->load->view('classified_datail', $data);
   ?>
</div>

2 个答案:

答案 0 :(得分:0)

我的方法是使用ajax调用用适当的数据填充对话框,然后显示它。

JS会是这样的。你在你的控制器中调用一些动作

$('.loginForm').click(function(){    
     $.ajax({
         url: '/controller/action',
         data: { id: $(this).attr('id)},
         dataType: 'html',
         type: 'POST',
         success: function(data){
             $('#dialog_1').html(data);
             $('#dialog_1').dialog('open');     
         }
    });  
}); 

在你的行动中你只需抓住传递的id并调用模型函数。

$data['classfied_details'] = $this->classified_model->classified_details($_POST['id']);
$this->load->view('classified_datail', $data);

您应该在链接中使用两次id属性。尝试这样的事情:

<a class="loginForm" href="#" id="<?php echo $info['clf_id'];?>">

答案 1 :(得分:0)

我假设:$this->classified_model->classified_details($id);是返回数组$info,您需要ECHO:

<a class="loginForm" href=""  id="<?php echo $classfied_details['info']['clf_id'];?>">
  <?php echo $classfied_details['info']['clf_title'];?>
</a>