Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript上添加onChange事件以仅重新加载select选项_Javascript_Php_Mysql_Dom Events - Fatal编程技术网

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

如何在Javascript上添加onChange事件以仅重新加载select选项,javascript,php,mysql,dom-events,Javascript,Php,Mysql,Dom Events,HTML 选择一个 选择一个 Javascript <form method="post" name="f1" action='dd-check.php'> <select class="text" id="course_id" name='course_id' onChange="reload(this.form)"> <option value=

HTML


选择一个
选择一个
Javascript

<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>

函数重载(表单)
{
var val=form.course\u id.options[form.course\u id.options.selectedIndex].value;
self.location='dd.php?course_id='+val;
}
在这里,函数重载表单。我只想重新加载第一个选择框数据,如何做到这一点?

onchange()事件取决于它的元素,因此reload()不会调整第二个选择元素“batch\u id”

此外,在更改位置之前,请添加两个选项元素的参数选定索引

<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>
然后,在onload函数中恢复之前选择的选项值

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

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

只重新加载第一个选择框数据-你的意思是-重置它的值吗?在这种情况下使用Ajax!第一个是选择“课程”,第二个是根据课程选择“批次”。有一个相关的选择框当我选择课程时,此重载函数将根据所选课程重新加载表单并预览批次id
    var s1 = document.getElementById("course_id");
    s1.options.selectedIndex = o1;
    var s2 = document.getElementById("batch_id");
    s2.options.selectedIndex = o2;