флажок при щелчке передать значение чекбокса в виде строки запроса на URL-адрес

У меня есть пара чекбоксов, и при щелчке любого из них должно запускаться событие, которое фиксирует значение флажка и переходит к URL-адресу в виде строки запроса.

Строка запроса должна быть такой: mysite.com/result.aspx?k=Hospital OR Office OR Facility, если все три флажка отмечены один за другим... поэтому при первой проверке Hospital она будет перенаправлена ​​на mysite.com/result. aspx?k=Больница и второй раз, когда установлен флажок Офисы, он добавит к существующему URL-адресу значение, например, mysite.com/result.aspx?k=Больница ИЛИ Офис и так далее...

<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;

        });

**


person Anjana Sharma    schedule 25.02.2012    source источник
comment
Вы имеете в виду %20OR%20 ?. Почему пробелы?   -  person elclanrs    schedule 25.02.2012
comment
Поиск Sharepoint в порядке с этими пробелами.   -  person Anjana Sharma    schedule 25.02.2012
comment
Если вы выбрали «Офисы» и «Больницы» в качестве параметров, какой должна быть строка запроса?   -  person Malk    schedule 25.02.2012
comment
это будет mysite.com/result.aspx?k=Office ИЛИ Hospital.... при проверке Office он добавит mysite.com/result.aspx?k=Office и отобразит все результаты, соответствующие Office, и скажет, что пользователи отмечают флажок Hospital. , он в основном будет продолжать добавлять ИЛИ «значение флажка», т.е. ИЛИ больницу в этом случае. Что будет искать как больницы, так и офисы   -  person Anjana Sharma    schedule 25.02.2012


Ответы (1)


Это неправильный способ отправки флажков на сервер. У вас есть собственный процесс, анализирующий строку запроса на другом конце? В любом случае, измените свою карту, чтобы использовать jquery $(this):

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