Javascript 如何设置带有变量名、id、值的复选框链接
我有一个长长的复选框列表,每个复选框旁边都有一个链接。比如:Javascript 如何设置带有变量名、id、值的复选框链接,javascript,jquery,html,Javascript,Jquery,Html,我有一个长长的复选框列表,每个复选框旁边都有一个链接。比如: <form name="checkboxlist" action="..." > <input type="checkbox" id="1" name="pageCB" value="1"/> <a id="1" href="#" onclick="sub(id)>click here</a> <input type="checkbox" id="2" na
<form name="checkboxlist" action="..." >
<input type="checkbox" id="1" name="pageCB" value="1"/>
<a id="1" href="#" onclick="sub(id)>click here</a>
<input type="checkbox" id="2" name="pageCB" value="2"/>
<a id="2" href="#" onclick="sub(id)>click here</a>
...
...
<input type="submit" />
</form>
...
...
我目前正在尝试使用:
<script>
function sub(id){
$("input:checkbox[value=id]").attr("checked", true);
document.checkboxlist.submit();
}
</script>
职能分包(id){
$(“输入:复选框[value=id]”)。attr(“选中”,true);
document.checkboxlist.submit();
}
但这显然不读取变量id,我真的希望避免对每个id进行if语句,因为它们有几百个。有什么方法可以做到这一点吗?编辑:我发现您也在使用重复的ID。这是无效的,在按ID选择时将无法正常工作
数字标识在HTML4中无效 无论如何,请更改以下内容:
$("input:checkbox[value=id]")
为此:
$("input:checkbox[value='" + id + "']")
这将id
的值连接到选择器字符串中,我还在属性选择器值周围添加了引号,因为文档需要它们
并将内联处理程序更改为:
<a id="2" href="#" onclick="sub(this.id)>click here</a>
…因为
此
是对所单击元素的引用,所以此.id
是对其id属性的引用。您不应该使用链接,应该使用
标记
这就是它的用途
<input type="checkbox" name="mybox" id="mybox">
<label for="mybox">Click this box</label>
单击此框
这适用于所有表单字段,比构建JS来完成已经存在的任务要好得多。如果我理解正确,您希望通过单击相关元素来支持选择复选框,并在单击时提交表单。我建议a)使用
元素代替
,因为它们可以通过id与输入关联;b)不要使用数字、重复的id
属性
<form name="checkboxlist" action="#">
<input type="checkbox" id="a" name="pageCB" value="1"/>
<label for="a">Click here</label>
<input type="checkbox" id="b" name="pageCB" value="2"/>
<label for="b">Click here</label>
</form>
<script>
$(document).ready(function() {
$('input:checkbox').change(function(){
$(this).parent('form').submit();
});
});
</script>
点击这里
点击这里
$(文档).ready(函数(){
$('input:checkbox').change(function(){
$(this.parent('form').submit();
});
});
您可以修改html吗?在一个页面上有多个相同的id是无效的。我建议使用onlick处理程序并将其添加到checkbox如果您知道id,那么它将比$(“#”+id).attr(“checked”,true)更简单;同意,但这无助于触发submit on复选框changeAhh,但您可以轻松地将一个事件附加到表单中的所有标签上,但这并不是一个很好的用户体验。点击自动提交表单似乎有点奇怪。哦,威尔。。。欧普知道他想要什么,我想:)是的,我是个白痴。我曾尝试将它连接起来,但如果属性周围没有引号,它就无法工作。