获取url参数:如果在输入字段的name属性中使用了第三个括号,则JavaScript无效

jay*_*ays 2 html javascript php jquery

我使用下面的JavaScript代码从URL获取参数并检查输入字段.如果我name="community[]"在输入字段中不使用第三个括号,它工作正常.如果我在JavaScript代码中使用了第三个括号,那么它就不起作用了.

HTML

<input type="checkbox" id="type" name="community[]" value="<?php echo $comvalue;?>">
Run Code Online (Sandbox Code Playgroud)

JavaScript的

var i = document.location.href.lastIndexOf('?');
document.location.href.substr(i+1).replace(/community=/g,'').split('&');
$('input[name="community"]').prop('checked',function(){
     return $.inArray(this.value,types) !== -1;
});
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

问题是因为您错过了选择器中[]name属性:

var types = ['A', 'C'];

$('input[name="community[]"]').prop('checked', function() {
  return $.inArray(this.value, types) !== -1;
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="type" name="community[]" value="A">
<input type="checkbox" id="type" name="community[]" value="B">
<input type="checkbox" id="type" name="community[]" value="C">
Run Code Online (Sandbox Code Playgroud)