所以我的代码如何运作我会给你一个要点。 当html_files中没有文件时,默认选项为" ---",但是当html_files中存在文件时,现在有两个选项, 1)" ---" 2)文件。但默认仍然是" ---"
所以我想要做的是,当html_files中存在一个文件时,我希望默认选项更改为当前文件而不是" ---"。我无法想办法如何做到这一点。有人能帮助我吗?
<span title="list resources who's involved etc">About File:
<select class="experiment_file_selector" id="about_file" name="about_file">
<option value="None" {% if not exp.about_file %}selected="selected"{% endif %}>---</option>
{% for file in html_files %}
<option value="{{ file.id }}" {% if file == exp.about_file %}selected="selected"{% endif %} >{{ file.get_base_name }}</option>
{% endfor %}
</select></span>
我添加了一个JS脚本,如下所示,当exp.about_file存在时,它会在选择输入标记上获取默认文件,但是要在模板上显示它需要手动点击。 为了自动化这个过程我尝试使用.click()似乎以某种方式失败。
基本上它是如何工作的,我从选择列表中选择第一个选项&#34; ---&#34;或者listFile [0],然后手动选择第二个exp.about_file或listFile [1],它会提供一些结果,但不会发生在JS脚本中。
所以有人可以建议我自动化鼠标点击事件的方法 listFile [0]和listFile [1],有点像我的JS代码,所以它可以工作。
由于
$(document).ready(function(){
var listFile = document.getElementById('about_file');
if (listFile.length > 1)
{
listFile[1].setAttribute('selected', 'selected');
listFile[0].click();
listFile[1].click();
}
});
答案 0 :(得分:0)
如果你使用javascript会很容易。只需在页面加载时添加属性selected =“selected”。
document.addEventListener('DOMContentLoaded', function(e) {
var listFile = document.getElementById('about_file');
if (listFile.length > 1) {
listFile[1].setAttribute('selected', 'selected');
}
});