2012-02-25 56 views
0

我有幾個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

回答

0

這是不發送複選框到服務器的正確方法。你有一個自定義進程解析另一端的查詢字符串?無論如何,改變你的地圖使用jquery $(this):

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