因此,我首先在特定目录中创建所有文件夹的数组,然后将其传递给我的html文件。
geom_point(aes(text = paste("Country:", df1()[,1]), color = Continent),
size = 2, alpha = 0.85)
接下来,我浏览该数组以查找已选择的文件。
def test_yt_vid():
mylist = os.listdir(WD+r"static/"+YOUTUBE_FOLDER)
full_path = (WD+YOUTUBE_FOLDER)
return dict(mylist=mylist, full_path=full_path)
接下来,我使用JS将特定值转换为变量
<select name=list id="videolist" method="GET" action="/">
{% for mylist in mylist %}
<option value= "{{mylist}}" SELECTED>{{mylist}}</option>"
{% endfor %}
</select>
所以问题出在这里,我不确定如何将该值传递到以下jinja代码中
$('#videolist').change(function () {
//console.log($("#videolist").val());
var fileInput = $("#videolist").val())};
我试图用JS中的变量fileInput替换'testVid.mp4',我尝试使用<video id="videotesting1" class="video" width="300" height="240" autoplay loop controls="true">
<source src="{{url_for('static',filename='videoTest/' + 'testVid.mp4')}}" type="video/mp4">
</video >
但到目前为止还没有运气。
这与“如何使用jQuery更改视频src?”不同。因为我正在尝试使用js将jinja变量传递给HTML。
答案 0 :(得分:0)
您的引号有误。看一下文件名,在其中设置'videoTest/'
加上一些变量值(例如x
),结果为'videoTest/'x
。你注意到了吗?在videoTest
之后关闭的单引号应出现在变量fileInput
之后。正确的方法是:
$("#videotesting1").attr("src","{{url_for('static',filename='videoTest/" + fileInput + "')}}");
修改src时,是否已通过 inspect元素更改了src,但未播放所需的视频?如果是这样,请尝试:
$("#videotesting1").load()
看看load在@jQuery文档中的作用。
答案 1 :(得分:0)
找出问题所在,文件名必须超出jinja代码,因为事件发生时出于某种原因它不会被jinja渲染。
$("#videotesting1").attr("src","{{url_for('static',filename='videoTest/')}}" + fileInput);