繁体   English   中英

来自PHP的jQuery EasyUI手风琴内容

[英]jQuery EasyUI accordion content from php

我再一次因头撞伤而谦卑地来到你面前,头撞在墙上...

我一直在尝试学习如何从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概念中表现出了无知。 正如我在开始时提到的那样,我实际上是在将其用作学习练习以及构建有用的东西。 任何帮助将不胜感激。 此外,非常欢迎任何可能帮助我克服一些概念上的缺点的在线教程。 提前致谢。

好吧...我终于弄清楚了我的问题。 这是我现在正在使用的功能。

    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
                    );
                    });
                }
            });
        }
    }

我希望其他一些像我这样的菜鸟也能从中受益。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM