2016-08-05 2 views
2

私のレールアプリで@all_tipsに格納されている文章(ヒントのタイトル)をコピーするためにクリックできるボタンのセットを作成しようとしています。現時点では、コピーは機能していますが、最初の単語(スペースがあるとすぐに停止します)の場合にのみ表示されます。なぜ、わからなくて、他のガイダンスを見つけることができませんでした。なぜZeroClipboardは最初の単語のみをコピーしますか?

<% (@all_tips).each do |n| %> 
    <button class="btn btn-success copy_to_clipboard" data-clipboard-text= <%= n.title %> > <p> <%= n.title %></p> </button> 
    <% end %> 


<script> 
    jQuery.fn.copyToClipBoard = function() { 
     var clip = new ZeroClipboard($(".copy_to_clipboard")); 
    } 
    $(function() { 
    $('.copy_to_clipboard').copyToClipBoard(); 
    }); 
</script> 

ご協力いただきありがとうございます!

+1

お試しください:data-clipboard-text = "<%= n.title%>" – markets

答えて

1

このようなタイトルの前後に引用符を追加:タイトルは例えばある場合には、引用符なしで

data-clipboard-text="<%= n.title %>" 

を:私の素晴らしいタイトル

タグは次のようになります。

<button class="btn btn-success copy_to_clipboard" data-clipboard-text=My awesome title > 

したがって、データクリップボードのテキスト値は「My」のみです。なぜなら、引用符がないために次のスペースがパラメータ値の最後であると考えられるからです。引用符を使用すると、タグは次のようになります。

<button class="btn btn-success copy_to_clipboard" data-clipboard-text="My awesome title" > 

データクリップボードのテキスト値は「私の素晴らしいタイトル」になります。前のコードスニペットの色のハイライトを見てください。青は値、オレンジはパラメータ名です。

+0

ありがとうございます。これはうまく動作し、徹底的な説明に感謝します! – aurelius2016

関連する問題