3

私は小さなオンライン試験アプリにcountTimerプラグインを使用しています。タイマーがゼロに達したときに、ユーザーを特定のURL(質問コントローラーのtime_expiredというアクション)にリダイレクトするという考え方です。したがって、URLは次の形式になります/questions/:id/time_expired

質問コントローラーにshow.html.erbは、次のdiv要素があります。

<div id="count-down" data-url=<%= time_expired_path %> ></div>

このdivで、タイマーを表示します。

ここで、私のapplication.jsファイルで、divのdata-url属性の値を取得し、expiryUrlを使用してそのURLに転送します。

$(document).ready(function(){

    myUrl = $("div").attr("data-url");
    alert(myUrl); // Prints undefine
    $('#count-down').countdown({expiryUrl: myUrl, format: 'MS', until: +10)
});

バリバール「myUrl」が未定義なのはなぜですか?私はfirebugで値をチェックすることができ、実際に私のdivにURLがあります。

ファイアバグの出力は次のとおりです。

<div id="count-down" data-url="/questions/2/time_expired"></div>

railsバージョン:3.2.8 Rubyバージョン:1.9.3 Jquery:レールに付属しているJqueryレール

どんな助けや提案もありがたいです。

4

1 に答える 1

3

代わりにこれを試してください:

myUrl = $("#count-down").data("url");
于 2012-12-12T11:05:31.777 に答える