javascript关于点击代替checkbox选中的问题 5

<html><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><head><scriptla... <html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<script language="javascript">
function myCheckbox(obj,thisobj)
{
var Checkbox = document.getElementById(obj);
Checkbox.checked = true;
$('#graphic').attr('checked',true);

}
</script>
</head>
<body>
<input type="checkbox" id="graphic"> <a href="javascript:;" class="graphic" onclick="myCheckbox('graphic',this);">点击这里checkbox被选中,再点击取消选中</a>
</body>
</html>

现在这个代码简单地说就是点击<a>标签checkbox会被选中,但是再点击则checkbox不会被取消。我想实现一个效果是点击<a>显示checkbox选中效果,再点击<a>取消checkbox选中。不要用label,用上面给的js改编一下就好,或者其他的js达成效果即可。请大神解答
展开
 我来答
网海1书生
科技发烧友

2015-12-14 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12315 获赞数:26235

向TA提问 私信TA
展开全部
你的代码中既用了原生的JavaScript,也用了jQuery,究竟用哪种啊?你必须选一样,否则要实现你的目的就会发生冲突了。下面是只用原生JavaScript的方法:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>
<script language="javascript">
function myCheckbox(obj,thisobj)
{
var Checkbox = document.getElementById(obj);
Checkbox.checked = !Checkbox.checked;
}
</script>
</head>
<body>
<input type="checkbox" id="graphic"> <a href="javascript:;" class="graphic" onclick="myCheckbox('graphic',this);">点击这里checkbox被选中,再点击取消选中</a>
</body>
</html>
追问
如果两个以上 点击这里checkbox被选中,再点击取消选中呢。id名称都相同的情况下怎么实现。
追答
ID是不可以相同的(换句话说它是具有唯一性的),所以多个input可以设为不同的ID,即:
点击这里checkbox被选中,再点击取消选中

点击这里checkbox被选中,再点击取消选中
点击这里checkbox被选中,再点击取消选中
……

还有一种方法是把对应的input和a放到同一个父节点中,然后通过父节点来进行控制:

function myCheckbox(thisobj)
{
var Checkbox = thisobj.parentNode.getElementsByTagName("input")[0];
Checkbox.checked=!Checkbox.checked;
}

点击这里checkbox被选中,再点击取消选中

点击这里checkbox被选中,再点击取消选中
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式