php页面和星级评分插件只有在刷新后才能完全呈现

时间:2013-04-07 12:47:43

标签: php javascript jquery

我正在使用fyneworks jquery star-rating和jQuery mobile,并且在一个使用PHP函数动态创建的页面中,一切正常。但是在PHP页面中包含“评级选项卡”的另一个页面中,在我刷新页面之前不会呈现星标。

 <?php
session_start();
if (!session_is_registered('autorizzato')) {
  echo "<h1>Area riservata, accesso negato.</h1>";
  echo "Per effettuare il login clicca <a href='login.php'><font color='blue'>qui</font></a>";
  die;
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <script src="jquery-1.8.2.min.js"></script>
    <script src="jquery.mobile-1.2.0.min.js"></script>
    <link rel="stylesheet" href="jquery.mobile-1.2.0.min.css" />

    <script src='rating/jquery.MetaData.js' type="text/javascript" language="javascript"></script>
    <script src='rating/jquery.rating.js' type="text/javascript" language="javascript"></script>
    <link href='rating/jquery.rating.css' type="text/css" rel="stylesheet"/>

    <script src="logged.js"></script>
</head>
<body background="#000000">

<div data-role="page"  id="lista">
    <div data-role="header" data-position="fixed">
    <input type="submit" onClick="back()" data-icon="back" class="ui-btn-left" value="Indietro" />
        <h1>TITLE</h1>
    <a href="logout.php" data-icon="gear" class="ui-btn-right">Logout</a>
    </div>
    <div data-role="content" data-theme="a">
    <form id="save" action="saveComment.php" method="post" data-ajax="false">
    <div data-role="fieldcontain">
        <label for="textarea">Comment:</label>
        <textarea cols="40" rows="8" name="textarea" id="textarea"></textarea>
    </div>
        <label>Rating:</label>
        <div data-role="content" >
                <input data-role="none" name="stars" type="radio" class="star" value="1"/>
                <input data-role="none" name="stars" type="radio" class="star" value="2"/>
                <input data-role="none" name="stars" type="radio" class="star" value="3"/>
                <input data-role="none" name="stars" type="radio" class="star" value="4"/>
                <input data-role="none" name="stars" type="radio" class="star" value="5"/>
        </div> 

        <input type="hidden" name="id" value="<?php echo $_GET["id"]; ?>" />
         <input type="hidden" name="rating" id="rating" value="1" />
        <fieldset id="actions">
            <input type="submit" id="submit" value="Invia">
        </fieldset>
    </form>

    </div>

</div>
</body>
</html>

logged.js

$(document).load(function () {  
     $('#rt').click(function () {
            var div = $(this);
            div.children('input').each(function () {
                if ($(this).is(':checked')){
                    $('#rating').attr("value", $(this).val());
                } 
            });
        });

    });

我注意到PHP动态创建的页面正在访问我的数据库,大约需要2-3秒才能显示,所有内容都会呈现。只有在按F5并刷新页面后才会显示第二页。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

你试过.ready吗?

$(document).ready(function() {
// Handler for .ready() called.
});