2013-04-07 3 views
0

fyneworks jquery star-rating은 jQuery 모바일과 함께 사용되며 한 페이지에서 동적으로 PHP 기능을 사용하여 모든 것이 잘 작동합니다. 그러나 "등급 탭"이 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를 누른 다음 페이지를 새로 고친 후에 렌더링됩니다.

무엇이 누락 되었습니까?

+0

브라우저 비동기 성향 일 가능성이 있습니다. 두 번째로 데이터는 렌더링 된 캐시에서 가져올 수 있습니다. –

+0

나는 생각한다. 그것을 막을 수있는 방법이 있습니까? Chrome (데스크톱) 및 Android 브라우저 모두 동일한 동작을 나타냅니다. – StarsSky

+0

별을로드하지 않을 때 표시되는 내용은 무엇입니까? –

답변

1

시도해 보셨습니까?

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

.ready가 작동하지 않습니다. – StarsSky

관련 문제