复选框onclick将查询字符串值作为查询字符串传递到URL

问题描述:

我有几个chechbox并点击其中任何一个,应该触发一个事件捕获复选框的值并作为查询字符串传递给URL。复选框onclick将查询字符串值作为查询字符串传递到URL

查询字符串应该是这样的: mysite.com/result.aspx?k=Hospital办公机构或基金 如果所有三个复选框被选中一个接another..so第一次医院检查,它会重定向到mysite.com/result.aspx?k=医院和第二时间办公室复选框被选中,它会添加到现有的URL值,如mysite.com/result.aspx?k=Hospital或Office等等......

<div class="MyOptions"> 
Offices<input name="LocType" type="checkbox" value="Office"/> &#160; 
Hospitals<input name="LocType" type="checkbox" value="Hospital"/>&#160; 
Out-Patient Centers<input name="LocType" type="checkbox" value="Out-Patient"/>&#160; 
Facilities<input name="LocType" type="checkbox" value="Facility"/> 
</div> 

**这不工作..任何人都可以指导我。我不是很好用jQuery ..

$(document).ready(function() { 
    var url = 'http://mysite.com/results.aspx'; 
    $(".MyOptions input").click(function() { 

     var urlValues = window.location.href.split("k=(")[1]; 
     urlValues = urlValues.substring(0,urlValues .length - 1); 

     var checkboxValues = $("input[name=LocType]:checked").map(function() {return "\"" + this.value + "\"";}).get().join(" OR ") 

     if (urlValues.length > 0) 
      urlValues += " OR " + checkboxValues; 


    window.location.href = "http://mysite.aspx/result.aspx?k=" + urlValues; 

     }); 

**

+0

你的意思是'%20OR%20'?为什么空间寿命? – elclanrs 2012-02-25 02:37:33

+0

Sharepoint搜索与这些空间无关.. – 2012-02-25 02:38:53

+0

如果您选择了办公室和医院作为选项,您希望查询字符串是什么? – Malk 2012-02-25 02:39:02

这是不发送复选框到服务器的正确方法。你有一个自定义进程解析另一端的查询字符串?无论如何,改变你的地图使用jquery $(this):

var checkboxValues = $("input[name=LocType]:checked").map(function() {return "\"" + $(this).val() + "\"";}).get().join(" OR ")