gpt4 book ai didi

javascript - SelectAll 不调用事件处理程序

转载 作者:行者123 更新时间:2023-11-28 08:02:03 28 4
gpt4 key购买 nike

请参阅下面的 JavaScript:

<html>
<head><title></title></head>
<body>

<script type = "text/javascript">

function Test()
{
alert('got here');
}

function SelectAll() {
var frm = document.forms[0];
for (i = 0; i < frm.elements.length; i++) {
frm.elements[i].checked=true;
}
}

</script>

<form>
<input type="checkbox" name="Test1" onClick="Test()"/>
<input type="checkbox" name="Test2" onClick="Test()"/>
<input type="checkbox" name="Test3" onClick="Test()"/>
<input type="checkbox" name="Test4" onClick="SelectAll()"/>
</form>

</body>
</html>

如果我单击“Test1”、“Test2”或“Test3”,则会出现警告框。当我单击 Test4 时,我希望警报出现三次(一次针对 Test1;一次针对 Test2;一次针对 Test3)。然而,这并没有发生。根本不调用事件处理程序。这是为什么?

如何修改 HTML 以便事件处理程序被调用三次。

最佳答案

您还需要触发onclick:

frm.elements[i].onclick();

为了避免点击最后一个元素,您需要将 for 循环中的长度减少 1,因此最终代码应为:

function SelectAll() {
var frm = document.forms[0];
for (i = 0; i < ( frm.elements.length - 1 ); i++) {
frm.elements[i].checked=true;
frm.elements[i].onclick();
}
}

关于javascript - SelectAll 不调用事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25264951/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com