复选框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"/>  
Hospitals<input name="LocType" type="checkbox" value="Hospital"/> 
Out-Patient Centers<input name="LocType" type="checkbox" value="Out-Patient"/> 
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;
});
**
答
这是不发送复选框到服务器的正确方法。你有一个自定义进程解析另一端的查询字符串?无论如何,改变你的地图使用jquery $(this):
var checkboxValues = $("input[name=LocType]:checked").map(function() {return "\"" + $(this).val() + "\"";}).get().join(" OR ")
你的意思是'%20OR%20'?为什么空间寿命? – elclanrs 2012-02-25 02:37:33
Sharepoint搜索与这些空间无关.. – 2012-02-25 02:38:53
如果您选择了办公室和医院作为选项,您希望查询字符串是什么? – Malk 2012-02-25 02:39:02