Есть плеер на JS, в котором необходимо менять ссылку на видео. Выглядит так:<div id="playera"></div>
<div id="player">
<%= javascript_tag do %>
new Playerjs({
"id":"playera",
"file": "<%= "#{@video.link_video1}" %>"
});
<% end %>
</div>
Так же есть селектор, в котором выбираем ссылку на видео:<select id="slct3" name="slct3" onchange="funlink(this.id,'player')">
<option value="Ссылка 1">Ссылка на видео 1</option>
<option value="Ссылка 2">Ссылка на видео 2</option>
<option value="Ссылка 3">Ссылка на видео 3</option>
</select>
# <div id="linkurl">Ссылка на видео</div>
Скрипт на изменение ссылки селектором:function funlink(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "Озвучка 1"){
s2.innerHTML = "@video.link_video1";
} else if(s1.value == "Озвучка 2"){
s2.innerHTML = "@video.link_video2";
} else if(s1.value == "Озвучка 3"){
s2.innerHTML = "@video.link_video3";
}
}
Теперь вопрос:
Поскольку я не могу сообразить, как конкретно можно заменить часть строки в скрипте плеера, а именно
"file": "<%= "#{@video.link_video1}" %>"
так как идентификация элемента DOM происходит по ID, то есть будет меняться содержимое всего ДИВа,
то допускаю вариант с заменой всего содержимого ДИВа .
В этом случае сталкиваюсь с проблемой, так как данный див содержит теги скрипта и сам скрипт.
Планировал сгенерированный код под каждую ссылку вынести в методы, где собиралось содержимое дива вместе с новой ссылкой на видео, но не знаю как правильно прописать.
Элементарно даже если прописать просто теги
<script></script>
во вьюхе отображается некорректно, даже если использовать:
"\<script\>\</script\>"
то получается фигня.
Возможно где-то сильно чего-то не допонимаю.
Хотелось бы, чтобы подсказали решение или хотя бы направили куда копать.
Работаю в фреймворке RubyOnRails.