我再一次谦卑地走到你面前,头部撞到墙上有瘀伤......
我一直在努力学习,因为我要弄清楚如何从php / MySQL查询中填充jQuery EasyUI手风琴。我相信我现在正确地将数据恢复到网页,但我无法弄清楚如何解析和格式化这个以显示为页面上的内容。我试图实现的基本上是一种手风琴,用于显示每个与个人作为手风琴项目的通信的联系历史。以下是PHP查询输出的示例。
{"rows":[{"phone":"5554072634","contact_dt":"2014-01-27 22:51:37","method":"Email","who":"Scott","note":""},{"phone":"5554072634","contact_dt":"2014-01-27 23:08:49","method":"Spoke","who":"Scott","note":"Called back and she is not interested."}]}
我试图将“contact_dt”作为每个手风琴标签的标题,然后格式化手风琴标签正文中的其余元素。目前,当我选择包含手风琴的“联系历史记录”选项卡时,我会得到一个忙碌的微调器,但这只会在正文中产生一个小方框,并且不会改变标题。这是我确定已经破坏的代码。首先是HTML部分......
<div id="history" title="Prospect Contact History" closable="true" style="padding:10px;">
<h2 class="atitle">Prospect Details</h2>
<div id="aa" class="easyui-accordion" style="width:500px;height:300px;">
<div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;">
<h3 id="hist_title" style="color:#0099FF;">Accordion for jQuery</h3>
<p>Accordion is a part of easyui framework for jQuery.
It lets you define your accordion component on web page more easily.</p>
</div>
</div>
</div>
现在对于jQuery片段......首先是JS基本上调用该函数。这是在页面末尾的正文中。
<script type="text/javascript">
$('#tt').tabs({
onSelect:function(title){
if (title == 'Prospect Contact History'){
//$( "#hist_title" ).html( "Accordion function is working.");
accordionHistory();
}
}
});
</script>
现在对于在头部定义的功能以及我认为真正的混乱所处的位置。
function accordionHistory() {
$( "#hist_title" ).html( "Accordion function is working.");
var pp = $('#aa').accordion('getSelected'); // get the selected panel
if (pp){
pp.panel('refresh','contact_history.php?phone=' + phone); // call 'refresh' method to load new content
var temp = $('#aa').form('load',pp);
$.each( temp, function( i, val ) {
var txt1=$("<p>Time: ").html(val.contact_dt);
var txt2=$("</p><p>Method: ").html(val.method);
var txt3=$("</p><p>Who: ").html(val.who);
var txt4=$("</p><p>Note: ").html(val.note);
//$("#hist_title").html(val.contact_dt);
$("#hist_item").html(txt2,txt3,txt4);
});
}
}
我确信我在基本的JS概念中表现出粗暴的无知。正如我在开始时提到的,我真的将它用作学习练习以及构建有用的东西。任何帮助将不胜感激。此外,任何可能帮助我解决一些概念缺陷的在线教程都会受到欢迎。提前谢谢。
答案 0 :(得分:1)
嗯......我终于弄明白了我的问题。这是我现在用来实现这个功能的功能。
function accordionHistory() {
var pp = $('#aa').accordion('getSelected'); // get the selected panel
if (pp){
$.ajax({
post: "GET",
url: "get_history.php?phone=" + phone,
dataType: 'json',
success: function( details ) {
$.each(details.rows, function(index, element) {
$('#hist_title').replaceWith(
'Phone: '
+ element.phone
+ 'Contact time: '
+ this.contact_dt
+ '<br/>Method: '
+ this.method
+ '<br/>Who: '
+ this.who
+ '<br/>Note: '
+ this.note
);
});
}
});
}
}
我希望像我一样的其他菜鸟觉得这很有用。