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

时间:2017-03-12 13:17:01

标签: javascript php mysql javascript-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>

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

1 个答案:

答案 0 :(得分:0)

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;