2

こんにちは私はここでかなりひどく立ち往生しています。シナリオは実際には非常に単純です。次のような入力フィールドがあります。

 %input.coupon_bar{:type => "text", :name=> "coupon", id=>"coupon_id"}/

そして、そのボックスにある値を別のコントローラーに渡したいのですが、次のようにしようとしています。

= link_to image_tag("ok_button.png", :border =>0), "/orders/new/", :coupon = #{$('.coupon_bar').val()}

jqueryを使用すると簡単$('.coupon_bar').val()だと思いましたが、思ったほど簡単ではないと思います...助けてください????

ああ、そしてこのStackOverFlowの質問とは異なり、私の入力フィールドはどのフォームの一部でもありません...

前もって感謝します...

4

2 に答える 2

3

2つの悪い習慣があります。

  1. リンクをハードコーディングしないでください

  2. 可能な場合は邪魔なjsを避けてください

これが私が提案するものです:

= link_to image_tag("ok_button.png", :border =>0), new_order_path, :id => "my_link"

そしてあなたのjsで:

<script type="text/javascript" charset="utf-8">

$().ready(function(){
    $('#my_link').click(function(){
        $(this).attr('href', $(this).attr('href') + '?coupon=' + $('.coupon_bar').val());
    });
});

</script>
于 2011-04-09T13:22:47.277 に答える
1

ただ形にしてみませんか?それははるかに簡単でしょう。

とにかく、あなたはあなたの目標を達成するためにリンクからのonclickを使うことができます:

<a href="#" onclick="window.location.href = '/orders/new/coupon='+ $('.coupon_bar').val();">
Text</a>
于 2011-04-09T13:00:03.237 に答える