2012-02-25 11 views
0

私はいくつかのchechboxを持っており、そのうちの誰かをクリックすると、チェックボックスの値をキャプチャしてクエリーストリングとしてURLに渡すイベントを引き起こすはずです。checkbox onclick URLにクエリー文字列としてchechboxの値を渡します

クエリ文字列は次のようにする必要があります:すべての3つのチェックボックスは、病院がチェックされている最初の時間をanother..so次々にチェックされている場合 mysite.com/result.aspx?k=Hospitalやオフィスや施設 、それはにリダイレクトされますmysite.com/result.aspx?k=病院と2回目の診療所のチェックボックスをオンにすると、既存のURLにmysite.com/result.aspx?k=Hospital OR 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> 

**これは動作していません。誰でも私を導くことができます。私は、これは、サーバーにチェックボックスを送信するための正しい方法ではありません

+0

あなたは '%20OR%20'を意味しますか?なぜスペースがありますか? – elclanrs

+0

Sharepoint検索はこれらのスペースで問題ありません。 –

+0

オプションとしてOffices and Hospitalsを選択した場合、クエリ文字列をどのようにしたいですか? – Malk

答えて

0

** ..

$(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を使って非常に良いではないと思います。あなたは、他の端にクエリ文字列を解析するカスタムプロセスがありますか?とにかく、jquery $(this)を使用するように地図を変更してください:

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