onclick checkbox добавить значение флажка к URL - PullRequest
1 голос
/ 25 февраля 2012

Я хочу реализовать это, используя jquery вместо inline, но он не работает, inline работает нормально. Другая причина, по которой я хочу использовать jquery, заключается в том, что если пользователь выбирает более одного флажка, к URL-адресу следует добавить все, что уже есть + ИЛИ «Значение 2-го CheckBox», например так: "http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=Office ИЛИ Больница" Пространство перед и после ИЛИ в порядке .. Как мне этого добиться? Кто-нибудь может мне помочь?

 Offices<input name="LocType" type="checkbox"  
value="Office" onclick="window.location='http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=Office'; return true;"> &#160;
     Hospitals<input name="LocType" type="checkbox"  
value="Hospital" onclick="window.location='http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=Hospital'; return true;"> &#160;
     Facilities<input name="LocType" type="checkbox"  
value="Facility" onclick="window.location='http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=Facility'; return true;"> 

Ответы [ 2 ]

2 голосов
/ 25 февраля 2012

Привязать к событию изменения в флажках. При нажатии прочитать текущее значение флажка, а затем все остальные относительные флажки. Добавьте свой базовый URL со своей пользовательской строкой запроса и сходите с ума. :)

Это не проверено, но, надеюсь, это хорошая отправная точка.

var baseUrl = 'http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=';

$(document).ready(function () {

    // listen to change event (customize selector to your needs)
    $('input[type=checkbox]').change(function (e) {

        e.preventDefault();

        if ($(this).is(':checked')) {

            // read in value
            var queryString = $(this).val();

            // loop through siblings (customize selector to your needs)
            var s = $(this).siblings();
            $.each(s, function () {

                // see if checked
                if ($(this).is(':checked')) {

                    // append value
                    queryString += ' OR ' + $(this).val();
                }
            });

            // jump to url
            window.location = baseUrl + queryString;
        }
    });

});
0 голосов
/ 25 февраля 2012

Вы можете попробовать это.

HTML

<input name="LocType" type="checkbox" value="Office" />
<input name="LocType" type="checkbox" value="Hospital" />
<input name="LocType" type="checkbox" value="Facility" />

JS

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

var url = "http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations";

$('button').click(function(){
   //This will get the array containing values of checked LocType checkboxes
   var checkedLocTypeValues = $('input[name=LocType]:checked').map(function(){
        return this.value;
   });

   //Use Array.join() method to join the array elements by " OR "
   url = url + "&k=" + checkedLocTypeValues.join(" OR ");

   //Now you can use url variable which has all the checked  LocType checkboxes value
}

jQuery map() ссылка - http://api.jquery.com/jQuery.map/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...