Javascript 如何向onchange函数添加onload
提前感谢您或您能提供的任何帮助。我正在创建一个包含选项和选项的菜单。选择章节后,它将显示可用的页面选项。但是,我希望它默认在网站首次加载时显示第一章页面,而不是什么都不显示。我似乎无法理解这一点。我的守则如下:Javascript 如何向onchange函数添加onload,javascript,html,Javascript,Html,提前感谢您或您能提供的任何帮助。我正在创建一个包含选项和选项的菜单。选择章节后,它将显示可用的页面选项。但是,我希望它默认在网站首次加载时显示第一章页面,而不是什么都不显示。我似乎无法理解这一点。我的守则如下: <script> window.onload = function() { document.getElementById("Chapter").onload = function () { if (this[this.selectedIndex].v
<script>
window.onload = function() {
document.getElementById("Chapter").onload = function () {
if (this[this.selectedIndex].value === "1") {
document.getElementById("c1").className = "show";
}
};
</script>
<script>
document.getElementById("Chapter").onchange = function () {
if (this[this.selectedIndex].value === "1") {
document.getElementById("c1").className = "show";
} else {
document.getElementById("c1").className = "";
}
if (this[this.selectedIndex].value === "2") {
document.getElementById("c2").className = "show";
} else {
document.getElementById("c2").className = "";
}
};
</script>
<div class="jump-options text-center">
QUICK JUMP: CHAPTER
<select id="Chapter">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select> PAGE
<select id="c1" name="Page">
<option value="1p0">0</option>
<option value="1p1">1</option>
<option value="1p2">2</option>
<option value="1p3">3</option>
<option value="1p4">4</option>
<option value="1p5">5</option>
</select>
<select id="c2" name="Page">
<option value="2p0">0</option>
<option value="2p1">1</option>
<option value="2p2">2</option>
<option value="2p3">3</option>
<option value="2p4">4</option>
<option value="2p5">5</option>
</select>
</div>
window.onload=函数(){
document.getElementById(“章”).onload=函数(){
如果(此[this.selectedIndex].value==“1”){
document.getElementById(“c1”).className=“show”;
}
};
document.getElementById(“章”).onchange=function(){
如果(此[this.selectedIndex].value==“1”){
document.getElementById(“c1”).className=“show”;
}否则{
document.getElementById(“c1”).className=“”;
}
如果(此[this.selectedIndex].value==“2”){
document.getElementById(“c2”).className=“show”;
}否则{
document.getElementById(“c2”).className=“”;
}
};
onload代码目前不执行任何操作,但onchange按预期工作
非常感谢您抽出时间
编辑:
HTML示例如下所示:
<script>
window.onload = function() {
document.getElementById("Chapter").onload = function () {
if (this[this.selectedIndex].value === "1") {
document.getElementById("c1").className = "show";
}
};
</script>
<script>
document.getElementById("Chapter").onchange = function () {
if (this[this.selectedIndex].value === "1") {
document.getElementById("c1").className = "show";
} else {
document.getElementById("c1").className = "";
}
if (this[this.selectedIndex].value === "2") {
document.getElementById("c2").className = "show";
} else {
document.getElementById("c2").className = "";
}
};
</script>
<div class="jump-options text-center">
QUICK JUMP: CHAPTER
<select id="Chapter">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select> PAGE
<select id="c1" name="Page">
<option value="1p0">0</option>
<option value="1p1">1</option>
<option value="1p2">2</option>
<option value="1p3">3</option>
<option value="1p4">4</option>
<option value="1p5">5</option>
</select>
<select id="c2" name="Page">
<option value="2p0">0</option>
<option value="2p1">1</option>
<option value="2p2">2</option>
<option value="2p3">3</option>
<option value="2p4">4</option>
<option value="2p5">5</option>
</select>
</div>
快速跳跃:第二章
1.
2.
3.
4.
5.
6.
7.
页
0
1.
2.
3.
4.
5.
0
1.
2.
3.
4.
5.
大多数DOM元素没有onload
事件。此事件仅在需要从外部源(如图像和iFrame)获取其内容的元素上触发
您不想分配一个onload
处理程序,您要做的是触发#Chapter
上的change
事件
window.onload = function() {
document.getElementById("Chapter").dispatchEvent(new Event("change"));
}
大多数DOM元素没有
onload
事件。此事件仅在需要从外部源(如图像和iFrame)获取其内容的元素上触发
您不想分配一个onload
处理程序,您要做的是触发#Chapter
上的change
事件
window.onload = function() {
document.getElementById("Chapter").dispatchEvent(new Event("change"));
}
什么样的元素是
#Chapter
?我认为加载事件只适用于窗口(可能是类似窗口的)元素,但肯定不是
sFYI,您可以使用this.value
而不是this[this.selectedIndex].value
。难道你不能省略嵌套的onload
,并简单地显示页面加载的第一章吗?我已经编辑了附加一个HTML示例。省略onload仍然会使页面选择空白。谢谢@Barmar,我做了一些更改来清理代码。什么样的元素是#chapter
load
事件仅适用于窗口(可能是类似窗口的)元素,但肯定不是
sFYI,您可以使用this.value
而不是this[this.selectedIndex].value
。难道你不能省略嵌套的onload
,并简单地显示页面加载的第一章吗?我已编辑以附加一个HTML示例。省略onload仍然会使页面选择空白。谢谢@Barmar,我已经做了一些更改来清理代码。你是一个幸运的人,谢谢!它可以根据需要工作。:)你是祝福,谢谢!它可以根据需要工作。:)