私はループしているブランドのインデックスを持ち、それぞれにテーブルに追加するメソッドを呼び出し、jqueryを使用してテキストを太字にします。リンクがクリックされたときにhref属性を変更すると、RailsとJqueryで機能が停止する
<%= link_to brand.name, { :controller => 'user_favorites', :action => 'create_brand', :brand_id => brand.id, :user_id => current_user.id }, :onclick => "$(this).css('font-weight','bold');", :remote => true %>
これは正常に動作しますが、しかし、さらに、私はそれがテーブルから削除し、別の方法、を指す削除リンクのhrefに変更する必要があります。現時点では、hrefを "http://www.google.com"に変更しようとしています。私は$(this).attr('href', 'http://www.google.com/');
を追加するとき、私はHREFが正常に変化しない、このコード...残念ながら
<%= link_to brand.name, { :controller => 'user_favorites', :action => 'create_brand', :brand_id => brand.id, :user_id => current_user.id }, :onclick => "$(this).css('font-weight','bold'); $(this).attr('href', 'http://www.google.com/');", :remote => true %>
を使用していますが、コントローラのアクションが呼び出されず、そしてブランドは、私のテーブルに追加されていません。コントローラの動作を実行するか、hrefを変更することができますが、両方を変更することはできません。どんな助けも大変ありがとう!ありがとう!
UPDATE:
要求されたよう、リンクのいずれかのためにレンダリングされたHTML ...
<a href="/user_favorites/create_brand?brand_id=1272&user_id=2" data-remote="true" onclick="$(this).css('font-weight','bold'); $(this).attr('href', 'http://www.google.com/');">BrandName</a>
jQueryとJavaScriptはクライアントサイドで動作します。サーバー側ではありません。ブラウザに表示されるレンダリングされたHTMLとjQueryスクリプトを見るのが助けになるでしょう。助けてください。 –
ありがとうDavid、私はhtmlで自分の質問を更新しました。 jqueryスクリプトはありません。私はメソッドを目立たないように呼びます。 – tob88
あなたは応答も返す必要があります。この行の後に "$(this).attr( 'href'、 'http://www.google.com/'); write trueを返します。お役に立てれば。 –