我使用以下代码在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>
答案 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>