选择复选框值显示在URL与参数使用Php Javascript


Selected Check box value display in URL with parameter using Php Javascript

我需要在浏览器url中获得选中的复选框值。

我的HTML代码:
<div style="width:200px; float:left">
    Price
    <div>
    <input type="checkbox" name="price" value="0-1000" class="filters" />0-1000<br />
    <input type="checkbox" name="price" value="1000-2000" class="filters" />1000-2000<br />
    <input type="checkbox" name="price" value="3000-4000" class="filters" />2000-3000<br />
    </div>
    Colors
    <div>
   <input type="checkbox" name="colors" value="Red" class="filters" />RED<br />
    <input type="checkbox" name="colors" value="Green" class="filters" />GREEN<br />
    <input type="checkbox" name="colors" value="Blue" class="filters" />BLUE<br />
    </div>
    </div>

My Javascript Code

<script type="text/javascript">
$('.filters').on('change',function(){
    var price = new Array();
        $('input[name=price]:checked').each(function(){
           price.push($(this).val());
        });
    var colors = new Array();
        $('input[name=colors]:checked').each(function(){
           colors.push($(this).val());
        });
    location.href = 'http://localhost/test/javascript.php?price='+price;

});         
</script>

我需要浏览器Url如下,选择两个价格和一个颜色后

 http://localhost/test/javascript.php?prices=0-1000,1000-2000&colors=Red

您要找的是.join()

join()方法将数组中的元素连接成一个字符串,并且返回字符串

元素将被指定的分隔符分隔。默认的分隔符为逗号。

location.href = 'http://localhost/test/javascript.php?price=' + price.join(',') + '&colors=' + colors.join(',');

尽管逗号似乎是默认的分隔符,但我还是要添加它以确保。

var url = 'http://localhost/test/javascript.php?';
if(price.length) {
    url += '&price=' + price.join(',');
}
if(colors.length){
    url += '&colors=' + colors.join(',');
}
location.href = url; // or url.replace('?&','?');