Javascript 解析get查询字符串并使用值更改复选框状态

Javascript 解析get查询字符串并使用值更改复选框状态,javascript,php,html,Javascript,Php,Html,我是javascript新手,我试图通过在get查询字符串值中检查复选框的id来更改复选框的状态。例如,如果我们有以下urlhttp://localhost/aasd/index.php?category[]=74,我想更改要选中的id为74的复选框 我试图用下面的代码来做,但它不起作用 $(document).ready(function() { var query = window.location.search.substring(1); var vars = query.split('&

我是javascript新手,我试图通过在get查询字符串值中检查复选框的id来更改复选框的状态。例如,如果我们有以下url
http://localhost/aasd/index.php?category[]=74
,我想更改要选中的id为74的复选框

我试图用下面的代码来做,但它不起作用

$(document).ready(function() {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');

   document.getElementById(pair[1]).checked = true;

}
$(文档).ready(函数(){
var query=window.location.search.substring(1);
var vars=query.split('&');
对于(变量i=0;i
对[1]生成未定义的74我不能用它来更改复选框状态。我需要将74传递给
document.getElementById(对[1])。checked=true;
才能选中复选框


如果您有任何帮助,我们将不胜感激。

请尝试此操作。。这样做时,我们假设url只有一个参数

$(document).ready(function() {

  var url = window.location.href;
  document.getElementById(url.substr(url.indexOf('=') + 1)).checked = true;
});

试试这个..假设url只有一个参数

$(document).ready(function() {

  var url = window.location.href;
  document.getElementById(url.substr(url.indexOf('=') + 1)).checked = true;
});
查看此代码:

$(document).ready(function() {
qsArray = new Array();
var query = "http://localhost/aasd/index.php?category[]=74";
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');

   $("#"+pair[1]).attr("checked",true); // this will make the checkbox checked when it encounters check box with id 74 I have created a check box with id 74 in my jsfiddle

}

});
$(文档).ready(函数(){
qsArray=新数组();
变量查询=”http://localhost/aasd/index.php?category[]=74";
var vars=query.split('&');
对于(变量i=0;i
链接到fiddle:

查看此代码:

$(document).ready(function() {
qsArray = new Array();
var query = "http://localhost/aasd/index.php?category[]=74";
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');

   $("#"+pair[1]).attr("checked",true); // this will make the checkbox checked when it encounters check box with id 74 I have created a check box with id 74 in my jsfiddle

}

});
$(文档).ready(函数(){
qsArray=新数组();
变量查询=”http://localhost/aasd/index.php?category[]=74";
var vars=query.split('&');
对于(变量i=0;i


链接到小提琴:

你认为
vars[0]
中有什么?为什么你的url在问号后面紧跟着“&”?这是因为vars[0]是相等的“查看我的答案并链接到小提琴”。@nnnnnn我现在已经删除了它,所以它是
http://localhost/aasd/index.php?category[]=74
你还有问题吗?你认为
变量[0]
中有什么?为什么你的url在问号后面紧跟着“&”?这是因为变量[0]等于“查看我的答案并链接到小提琴”。@nnnnnn我现在已经删除了它,所以它是
http://localhost/aasd/index.php?category[]=74
还有问题吗?我需要循环使用多个参数我需要循环使用多个参数没有解释为什么会这样做?也就是说,因为
$(“#”+对[1])。attr(“checked”,true)
即使对[1]未定义,并且您更改了查询字符串以删除符号,也不会给出错误(尽管问题现在已经更新为同样的问题)anything@aasdJSFIDLE使第页上的复选框状态为trueload@aasd
pair[1]
将在url中显示所有类别编号,如果存在带有类别id的复选框,则将复选框状态更改为true@FakhruddinUjjainwala该html中没有复选框?没有解释为什么这样做?也就是说,因为
$(“#”+pair[1])。attr(“checked”,true)
不会给出错误,即使pair[1]是未定义的,您更改了查询字符串以删除符号(尽管问题现在已更新为删除符号)anything@aasdJSFIDLE使第页上的复选框状态为trueload@aasd
pair[1]
将在url中显示所有类别编号,如果存在带有类别id的复选框,则将复选框状态更改为true@FakhruddinUjjainwala在html中没有复选框?