在页面刷新时选择保留选项

时间:2017-07-11 03:43:15

标签: javascript jquery django python-2.7 django-views

所以我的代码如何运作我会给你一个要点。 当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();
  }
});

1 个答案:

答案 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');
  }
});