на выбранном радио, перенаправить на ссылку - PullRequest
1 голос
/ 30 декабря 2011

У меня есть три рации, и я хочу, чтобы кто-нибудь из них был перенаправлен на ссылку.Используя javascript или jquery

    All <input name="EventRadio" type="radio" value="" checked="checked"/>&nbsp;
    Events<input name="EventRadio" type="radio" value="Events" />&nbsp;Classes<input name="EventRadio" type="radio" value="Classes"/><br /><br />

, так как «Все» установлено по умолчанию, я хочу, чтобы он перешел на mysite.com/search.aspx.Теперь, если пользователь выбирает События, я хочу перенаправить пользователя на mysite.com/search?type=Events или, если пользователь выбирает Классы, я хочу перенаправить пользователя на mysite.com/search?type=Classes в ответ на выборрадио.Как мне этого добиться?

Ответы [ 3 ]

3 голосов
/ 30 декабря 2011
All     <input name="EventRadio" type="radio" value="" checked="checked" onclick ="goToLocation(this.value)"/>&nbsp;
Events  <input name="EventRadio" type="radio" value="Events" onclick ="goToLocation(this.value)"/>&nbsp;
Classes <input name="EventRadio" type="radio" value="Classes" onclick ="goToLocation(this.value)"/><br /><br />


function goToLocation(val){
 if(val == "Events")
     window.location = "go to Events location";
 if(val == "Classes")
     window.location = "go to Classes location";
window.location = "go to default location";

}
1 голос
/ 30 декабря 2011

В качестве демонстрации:

var inputs = document.getElementsByTagName('input'),
    radios = [],
    output = document.getElementById('output'),
    url = 'mysite.com/search?type=';

for (var i = 0, len = inputs.length; i<len; i++) {
    if (inputs[i].type == 'radio'){
        radios.push(inputs[i]);
    }
}

for (var r=0, leng = radios.length; r<leng; r++){
    radios[r].onchange = function(){
        if (this.value){
            /* in real life use:
            document.location = url + this.value;
            */
            output.innerHTML = url + this.value;
        }
        else {
            /* in real life use:
            document.location = 'mysite.com/search?type=Events';
            */
            output.innerHTML = 'mysite.com/search.aspx';
        }
    }
}

Демонстрация JS Fiddle .

Обратите внимание, что я также изменил вашу отметку для использования <label> элементов,и удалил &nbsp; с и <br /> с.

0 голосов
/ 30 декабря 2011
$('input').click(function(){
    var val = $(this).val();
    if(val !== ''){
        window.location = 'http://mysite.com/search?type=' + val;
    }else{
        window.location = 'http://mysite.com/search.aspx';
    }
});
...