私は次のコードに困惑しています。誰かが私がjavascriptが値pにアクセスできないということを間違っていると教えてもらえますか?ありがとう!ビューでjavascript(JQuery)にRoR値を渡す
<% p=progress_for(contest_score) %> # p is non-zero
<script type="text/javascript">
$(function(){
$('#contest_progressbar').progressbar({value: <%=p%>});
<!--value p becomes 0 when rendered by jquery-->
$("#contest_progressbar").css({ 'background': 'LightYellow' });
$("#contest_progressbar > div").css({ 'background': 'Orange' });
$('#contest_progressbar span.text').text(<%=p%>+'%')
<!--value p becomes 0 when rendered by jquery-->
});
</script>
progress: <%=p%> progress bar should be below: # p is the correct value here
<div id='contest_progressbar' style="margin-left:20px; height: 20px;">
<span class="text"></span>
</div>
EDIT:代わりにまっすぐなスクリプトタグを使用します。しかし同じ問題です EDIT2:今はJQueryの問題と思われます。ブライアンの答えへのコメントのHTMLを参照
理論的には、私が見ているものからうまくいくはずです。ブラウザで「ソースを表示」すると、HTML出力にプロセスバー({値:0})として実際に印刷されていますか? – ghayes
私はJavaScriptの行の最後にあるルビーのコメントはあなたがここに私たちのために追加したものだと仮定しています、はい?また – jaydel
、あなたは(CSSファイルに最適な)とスタイル情報( '<%= text %>'のようなベストです)固定値にはJavaScriptを使用している特定の理由があるのでしょうか? – brymck