Получить возврат из функции javascript в атрибут html - PullRequest
0 голосов
/ 02 декабря 2019

У меня есть этот код в одном из моих представлений

  <%= link_to rating_book_path(@book, :rate => HERE_I_WANT_THE_SCORE_RETURNED_BY_FUNCTION), style: "text-decoration: none;" do %>
     <div id="rating" data-score="1" onclick="getScore();"></div>
  <% end %>
 <script>
    $(document).ready(function() {
      $('#rating').raty('reload'); //Previene el error de que al volver atras o ir adelante se muestren más estrellas de las debidas
        $('#rating').raty({
            path: '/assets/'
        });
    })
    function getScore(){
      return $('#rating').raty('score');
    }
  </script>

Мне нужно, чтобы значение, возвращаемое функцией getScore(), помещалось рядом с символом :rate =>, поэтому ссылка на него перенаправленачто-то вроде: /books/5/rating_book?rate=THE_VALUE_RETURNED_BY_THE_FUNCTION (то есть: /books/5/rating_book?rate=3)

Может быть, может помочь переводчик ruby ​​в html следующим образом:

<a style="text-decoration: none;" href="/books/5/rating_book?rate=5">
     <div id="rating" data-score="1" onclick="getScore();" style="cursor: pointer;">
     <img alt="1" src="/assets/star-on.png" title="bad">&nbsp;
     <img alt="2" src="/assets/star-off.png" title="poor">&nbsp;
     <img alt="3" src="/assets/star-off.png" title="regular">&nbsp;
     <img alt="4" src="/assets/star-off.png" title="good">&nbsp;
     <img alt="5" src="/assets/star-off.png" title="gorgeous">
     <input name="score" type="hidden" value="1"></div>
</a>

Заранее спасибо!

1 Ответ

0 голосов
/ 07 декабря 2019
<%= link_to rating_book_path(@book, :rate => HERE_I_WANT_THE_SCORE_RETURNED_BY_FUNCTION), style: "text-decoration: none;" do %>
  <div id="rating" data-score="1"></div>
<% end %>

<script>
  $(document).ready(function() {
    $('#rating').raty('reload'); //Previene el error de que al volver atras o ir adelante se muestren más estrellas de las debidas
    $('#rating').raty({
      path: '/assets/'
    });

    $("#rating img").mouseover(function(){
      $('#rating').data('score', this.alt)
    });

    $('#rating').click(function(){
      return $('#rating').raty('score');
    });
  });
  </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...