javascript - 如何在 Javascript 上添加 onChange 事件以仅重新加载选择选项

标签 javascript php mysql dom-events

HTML

<form method="post" name="f1" action='dd-check.php'>
  <select  class="text" id="course_id" name='course_id' onChange="reload(this.form)">
    <option value=''>Select one</option>
    <option value=''><?php ?></option>
  </select>
    
  <select name="batch_id" id="batch_id">
    <option value=''>Select one</option>
    <option value=''><?php ?></option>
  </select>
</form>

Javascript

<script type="text/javascript">
  function reload(form)
  {
    var val = form.course_id.options[form.course_id.options.selectedIndex].value;
    self.location='dd.php?course_id=' + val ;
  }
</script>

这里的函数重新加载表单。我只想重新加载第一个选择框数据,该怎么做?

最佳答案

onchange() 事件取决于其元素,因此 reload() 不会调整第二个选择元素“batch_id”

另外,在更改位置之前,添加参数选择两个选项元素的索引。

    var s1 = document.getElementById("course_id");
    var o1 = s1.options.selectedIndex;

    var s2 = document.getElementById("batch_id");
    var o2 = s2.options.selectedIndex;

然后,在 onload 函数中恢复之前选择的选项值。

    var s1 = document.getElementById("course_id");
    s1.options.selectedIndex = o1;
    var s2 = document.getElementById("batch_id");
    s2.options.selectedIndex = o2;

关于javascript - 如何在 Javascript 上添加 onChange 事件以仅重新加载选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42747883/

相关文章:

javascript - 处理 ng-repeat 中的重复元素

mysql - “选择总和”在一张表中不起作用

mysql - 提高简单 SQL 选择性能

javascript - 使用 W3C 剪贴板 API 将文本从 extjs htmleditor 组件复制到剪贴板

javascript - 如何进行内联属性检查以返回 bool 值?

javascript - 如何在每次登录时将 url 与变量连接起来

php - while 循环不适用于 max(eno) 查询

php - 以复选框形式显示表格内容

javascript - 读取 ajax post 响应时遇到问题

PHP新页面重定向