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/