Добавить JS в views template

Главные вкладки

Аватар пользователя dragondesign dragondesign 10 февраля 2022 в 11:28

Добрый день,
Как добавить JS в template views. Я пробовал добавить в viwes-view-filed ... он напрочь убирает обвязку <script type="text/javascript"></script> и показывает скрипт голым текстом.

Суть такая, вьюс выдает усредненный результат, скажем 4,5 ..и мне этот результат надо загнать в скрипт, который показывает красиво в виде звездочек...

$('#fixed').raty({
  readOnly:  true,
  start:     2 - вот сюда мне необходимо загнать результат из views
});

Комментарии

Аватар пользователя ivnish ivnish 10 февраля 2022 в 11:32

dragondesign wrote: и мне этот результат надо загнать в скрипт

Если очень надо сделать это на фронте, то достаточно:

let myValue = $('тут селектор где лежат данные').метод_получения_данных_в_зависимости_от_типа;

И дальше уже эту переменную использовать в вашем JS коде.

Аватар пользователя dragondesign dragondesign 10 февраля 2022 в 11:42

тут селектор где лежат данные - как же узнать этот селектор и метод... у меня views выдает результат 4,5 ...как его связать с js не совсем понимаю

Аватар пользователя ivnish ivnish 10 февраля 2022 в 11:43
1

Селектор посмотреть через инспектор браузера. Метод будет или .text() или .html()

dragondesign wrote: связать с js не совсем понимаю

Изучить основы JS и jQuery, вестимо

Аватар пользователя dragondesign dragondesign 10 февраля 2022 в 11:56

А, все я вас понял... просто мои мысли были в другом направлении Smile JS и JQuery слава богу знаю, на более менее приемлемом уровне.

Но неужели нельзя по другому... у меня же не 1 значение... а списком вываливается допустим 30 строк.. и у каждой свое значение... получается массив делать... потом 30 раз вызывать  $('#fixed').raty({  readOnly:  true,  start:   myValue  });

Спасибо, попробуем сделать этот костыль....

Аватар пользователя dragondesign dragondesign 10 февраля 2022 в 12:24

Но мне надо чтобы нужные значения легли в нужном месте... допустим строки

<div class="ratevalue">4,5</div>
<div class="ratevalue">5</div>
<div class="ratevalue">2,5</div>

и т.д.
я получается делаю примерно так..

$( "ratevalue" ).each(function() {
let myValue = $(this).innerText;
$(function() {
$('#fixed').raty({  readOnly:  true,  start:  myValue });
}
}