2013-04-03 54 views
2

我已经使用以下代码在Jquery UI对话框中加载视图Modal。获取id并将其传递给codeigniter中的UI 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> 

ONCLICK这个打开对话框的:

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

这里是div来模态加载在其中我加载视图:
这里为i我遇到问题了,我已通过功能classified_details($id);中的$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> 
+1

是什么的'$这个 - > classified_model-> classified_details($ id)的回报'?你知道你可以使用'id'一次标签吗? – egig

+0

@Charlie:它会返回array.for id它是我的错误,请参阅编辑的代码。 – Kango

回答

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'];?>"> 
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> 
相关问题