使用javascript/jQuery根据url值自动选中复选框
有没有办法或者可以使用javascript/jQuery实现这一点 基于链接URL:第一个将检查类型A和类型B,第二个示例将检查类型D使用javascript/jQuery根据url值自动选中复选框,javascript,jquery,checkboxlist,Javascript,Jquery,Checkboxlist,有没有办法或者可以使用javascript/jQuery实现这一点 基于链接URL:第一个将检查类型A和类型B,第二个示例将检查类型D ?type=A&type=C or ?type=D 我目前的表格: <form name="input" action="" method="post" ><br /> Select Type: <br /> <input type="checkbox" name = "type" value="A" />
?type=A&type=C or ?type=D
我目前的表格:
<form name="input" action="" method="post" ><br />
Select Type: <br />
<input type="checkbox" name = "type" value="A" /> A <br />
<input type="checkbox" name = "type" value="B" /> B <br />
<input type="checkbox" name = "type" value="C" /> C <br />
<input type="checkbox" name = "type" value="D" /> D <br /> <br />
<input type="submit" value="Submit" />
选择类型:
A
B
C
D
有什么建议吗?这样做:
var i = document.location.href.lastIndexOf('?');
var types = document.location.href.substr(i+1).replace(/type=/g,'').split('&');
$('input[name="type"]').prop('checked',function(){
return $.inArray(this.value,types) !== -1;
});
说明:
假设url是“http://sample.com?type=A&type=C
”。然后:
是“i
”登录该url的索引?
- 将从url中剪切
部分。切割后,我们将获得以下字符串:type=A&type=C
"type=A&type=C"
- 从上述字符串中删除“type=”部分:
"A&C" //after replace
- 将该字符串拆分为数组:
["A","C"]
- 检查当前
复选框的值是否在
数组中。如果是,则[“A”,“C”]
选中
复选框(
).prop('checked',true)
您需要服务器生成的页面来执行此操作…使用
窗口的搜索。位置仅包含type=A&type=C
,框A、B和C返回为与您的代码一起选中的状态。@ohgod为什么这是正确的。我刚刚忘记了这些属性)我已经测试了您的代码,但它没有按预期工作。我在本地环境中使用http://localhost/dev/so/index.php?type=A&type=C
,并选中复选框B、C和D
。通过将窗口的位置模拟为字符串,并根据该字符串测试代码,我能够在JSFIDLE中重现这一点@哦,为什么我更新了我的代码,添加了`==-1`在inaray
@之后,在这种情况下,您可以将+
符号替换为空格
。在replace
和split
之间添加类似的内容:.replace(/type=/g',).replace(/++/g',).split(
),或将decodeURI
函数应用于?type=A+B&type=C+D
字符串。
$('input[value="A"]').prop("checked", true);