0

我不知道如何做到这一点,我已经用谷歌搜索并搜索了 stackoverflow 但什么也没有,我确实找到了迭代率,但这并不是同一个问题。

这是我的问题。我正在使用 ajax 从查询 MySQL 数据库以获取结果的 php 脚本中获取数组。那里的一切都是直截了当的,它返回一个数组。下面是rate.php文件。然后我用它$.each来遍历数组,div我想做的是将.raty评级系统添加到每次迭代中。目前,评级系统(星)被添加到所有记录的底部/末尾,而不是每次迭代。我怎样才能做到这一点?下面是代码

以数组形式返回结果的“rate.php”文件

    <?php
    require_once("../auth/config.class.php");
    require_once("../pages/request.class.php");


    $config = new Config;

    $dbh = new PDO("mysql:host=" . $config-> dbhost . ";dbname=" . $config->dbname,  $config->dbuser, $config->dbpass);

    $request = new Request($dbh, $config);

    $rateme = $request->rateCare();

        echo $_GET['callback'] . '('.json_encode($rateme).')';
        //echo json_encode($rateme);
        //  var_dump($rateme);

    ?>

显示结果的 html 文件 rating.php

    <?php

    $page_title = "IntelyCare: Rating ";
    //$page_description = "Description of this page";
    require_once    ("../template/header.php");
    ?>

    <body>



    <div data-role="page">
    <script type="text/javascript">

    $(document).ready(function()
    {


         $.ajax({
            type: "GET",
            cache:false,
            url: "../pages/rate.php",
            dataType:'jsonp',

            success: function(data){
                    $.each(data, function()
                    {

                        $('#care').append("Date: " + this.caredate + '<br/ >');
                        $('#care').append("Care Giver: " + this.fname + "  " + this.lname );
                        $('#care').append('<br />');
                        $('#care').append('<br />');

                        $('#star').raty({
                            starType: 'i',
                            hints: ['Poor', 'Ok', 'Good', 'Very Good', 'Excellent' ]    
                            });

                    });


                                }
                });

    });                 


            </script>
    <div data-role="header" >
        <h1>IntelyCare</h1>
    </div>

    <div data-role="main" data-theme="a" class="ui-content">
        <div data-role="content">
        <h3>Rate Caregiver</h3>
            <div id="care">

            </div>
            <div id="star"></div>
        </div>
    </div>
    </div>
    </body>
    </html> 

更新工作Javascript

    $(document).ready(function()
    {   

         $.ajax({
            type: "GET",
            cache:false,
            url: "../pages/rate.php",
            dataType:'jsonp',

            success: function(data){
                    $.each(data, function(id, obj)
                    {
                        divid= obj.id
                        para = $('<div id="'+ divid + ' ">'+'</div>');
                        $('#care').append("Date: " + obj.caredate + '<br/ >');
                        $('#care').append("Care Giver: " + obj.fname + "  " + obj.lname );
                        $('#care').append(para);
                        $('#care').append('<br />');
                        $('#care').append('<br />');                            
                        $(para).raty({
                            starType: 'i',
                            hints: ['Poor', 'Ok', 'Good', 'Very Good', 'Excellent' ]    
                            });

                      });   



                    }


                }); 
    });                 
    </script>
4

1 回答 1

1

编辑

安德烈在评论中有权利。你总是附加.raty#star. 将 div 添加id="rate{uniqueidhere}"#care,将其附加到 2 个换行符之前,并将 附加.raty到新添加的元素。

于 2014-11-06T15:58:13.437 回答