在关闭模态然后打开另一个模态之后,显示的数据不会改变。我需要数据更改。这是按钮的html:
<a data-toggle="modal" title="Quick View" href="#" onclick="detailsmodal(<?= $row->id; ?>)"><i class=" ti-zoom-in"></i><span>Quick Shop</span></a>
然后这是我的Javascript代码:
function detailsmodal(id) {
var data = {"id" : id};
// send data to store_items/detailsmodal
jQuery.ajax({
url : '<?= base_url()?>store_items/detailsmodal',
method : "post",
data : data,
success : function(data){
jQuery('body').append(data);
jQuery('#details-modal').modal('toggle');
},
error : function(){
alert("Something went wrong!");
}
});
}
这是我的store_items / detailsmodal函数:
function detailsmodal() {
$item_id = $this->input->post('id', TRUE);
$query = $this->get_where($item_id);
foreach ($query->result() as $item) {
$data['item_title'] = $item->item_title;
}
$this->load->view('detailsmodal', $data);
}
最后是视图。视图工作正常。唯一的问题是它不显示后面的数据。我不知道问题出在哪里。我一直在这里和那里搜索,但找不到可以解决我的问题的解决方案。请帮忙。
答案 0 :(得分:0)
如果我正确理解,它会在第一次正确加载,然后尝试显示不同的模态只是在显示具有相同数据的相同模态。
这很可能是因为您没有为模态使用唯一的id
。通过id="details-modal"
添加到DOM的第一个模态是jQuery('#details-modal')
找到的唯一模态,因此它将是每次显示的相同模态。您可以在关闭DOM时从DOM中删除该模式,但是最终当用户重新打开他们关闭的模式时,您将重复已经进行的Ajax调用。
请考虑将$row->id
添加到返回模态即id
的{{1}}中,然后在javascript函数中首先检查是否已经拥有所需的特定模态,如果然后不要再调用ajax来获取它。
id="details-modal-4"
答案 1 :(得分:0)
data:JSON.stringify(data)
JSON的常见用法是与Web服务器交换数据。
将数据发送到Web服务器时,数据必须是字符串。
使用JSON.stringify()将JavaScript对象转换为字符串。
答案 2 :(得分:0)
我终于解决了它。我刚刚在jQuery('#details-modal').remove();
上方添加了此代码jQuery('body').append(data);
,现在一切正常。在此先感谢所有尝试提供帮助的人。