in my rails app I'm trying to create a set of buttons that can be clicked to copy a sentence (the title of tips) which are stored in @all_tips. At the moment the copying is working but only for the first word (i.e. stops as soon as there's a space) and I'm not sure why and haven't been able to find any other guidance.
<% (@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>
Any help would be greatly appreciated, thanks!
Add quotes around title like this:
data-clipboard-text="<%= n.title %>"
Without the quote, if the title is for example: My awesome title
The tag will look like this:
<button class="btn btn-success copy_to_clipboard" data-clipboard-text=My awesome title >
So the data-clipboard-text value is only "My", because the lack of quote consider the next space to be the end of the parameter value. With the quotes, the tag will look this:
<button class="btn btn-success copy_to_clipboard" data-clipboard-text="My awesome title" >
data-clipboard-text value will be "My awesome title". Look at the color highlights in the previous code snippet, blue is the value and orange the parameter name.