gpt4 book ai didi

javascript - 当参数是函数时,jQuery 切换不起作用

转载 作者:行者123 更新时间:2023-11-30 10:32:27 25 4
gpt4 key购买 nike

我正在尝试使用 toggle() 来完成我的点击事件。在这种情况下,我阅读了 API,并使用了 toggle(function1, function2, ...)。但这很奇怪。当我点击它时,标签 a 只是隐藏,而不是在里面执行那些功能。

这是我的 javascript 代码。

function clickMe(){
$("#lime").toggle(
function(){
var names = document.getElementsByName("selectOne");
var len = names.length;
if (len > 0) {
var i = 0;
for (i = 0; i < len; ++i) {
names[i].checked = true;
}
}
},function(){
var names = document.getElementsByName("selectOne");
var len = names.length;
if (len > 0) {
var i = 0;
for (i = 0; i < len; ++i) {
names[i].checked = false;
}
}
}
) ;
}

这是 HTML 代码。

  <a href="javascript:void(0);" onclick="clickMe()" id="lime">selectAll</a>
<form>
<input type="checkbox" name="selectOne" /><br />
<input type="checkbox" name="selectOne" /><br />
<input type="checkbox" name="selectOne" /><br />
<input type="checkbox" name="selectOne" /><br />
<input type="checkbox" name="selectOne" /><br />
<input type="checkbox" name="selectOne" /><br />
</form>

我在等评论。提前致谢!

最佳答案

This functionality has been removed in jQuery 1.9 .

改用它(也适用于旧版本):

$(function ($) {

var inputs = $('input[name=selectOne]');

$("#lime").click(function () {
inputs.prop( 'checked', ! inputs.prop('checked') );
});
});

这是 fiddle :http://jsfiddle.net/3GQDU/


正如@Andre 所指出的,如果第一个是手动检查的,那么它将取消所有的检查。如果这不是您想要的,请使用:

$(function ($) {

var inputs = $('input[name=selectOne]'),
flag = true;

$("#lime").click(function () {
inputs.prop( 'checked', flag );
flag = ! flag;
});
});

这是 fiddle :http://jsfiddle.net/3GQDU/1/

关于javascript - 当参数是函数时,jQuery 切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16127616/

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