【发布时间】:2012-02-25 02:32:35
【问题描述】:
我有几个复选框,点击其中任何一个,都应该触发一个事件,该事件捕获复选框值并作为查询字符串传递给 URL。
查询字符串应该是这样的: mysite.com/result.aspx?k=医院或办公室或设施 如果所有三个复选框都被一个接一个地选中..所以第一次选中 Hospital 时,它将重定向到 mysite.com/result.aspx?k=Hospital 并且第二次选中 Offices 复选框,它将添加到现有 URL mysite.com/result.aspx?k=Hospital OR 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;
});
**
【问题讨论】:
-
你的意思是
%20OR%20吗?为什么是空格? -
Sharepoint Search 对这些空格没问题..
-
如果您选择办公室和医院作为选项,您希望查询字符串是什么?
-
它将是 mysite.com/result.aspx?k=Office OR Hospital....在检查 Office 时,它将添加 mysite.com/result.aspx?k=Office 并显示所有结果匹配办公室并说用户检查医院复选框,它基本上会继续添加或“复选框值”,即在这种情况下为医院。它将同时搜索医院和办公室
标签: jquery url checkbox onclick query-string