javascript - Omdiriger nettleser basert på verdi fra radioknapp
Finnes det en enklere måte å omdirigere nettleseren basert på valget fra en radioknapp? Dette fungerer, men ut fra det jeg leser på verdensveven, er det sannsynligvis en enklere måte.
Dette er mitt skjema:
<form>
<input type="radio" name="value" value="google"><span>Google</span><br>
<input type="radio" name="value" value="yahoo"><span>Yahoo</span><br>
<input type="radio" name="value" value="bing"><span>Bing</span>
Dette er min jquery:
$(function() {
$("input[name$='value']").click(function() {
var value = $(this).val();
if (value == 'google') {
window.location.assign("http://www.google.com");
}
else if (value == 'yahoo') {
window.location.assign("http://www.yahoo.com");
}
else if (value == 'bing') {
window.location.assign("http://www.bing.com");
}
});});
Takk på forhånd
Svar #1
Jeg ville endret HTML-en bare litt til noe som dette:
<form>
<input type="radio" name="redirect" value="http://google.com"><span>Google</span><br>
<input type="radio" name="redirect" value="http://yahoo.com"><span>Yahoo</span><br>
<input type="radio" name="redirect" value="http://bing.com"><span>Bing</span>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$('input[type="radio"]').on('click', function() {
window.location = $(this).val();
});
</script>
Jeg ville også endret til .on()-metoden siden den uansett bare gjør et kall til .on(). Årsaken er at .click() bare gjør et kall til .on()-metoden, noe som skaper ett ekstra funksjonskall som egentlig ikke er nødvendig. I tillegg er .on() mye mer fleksibel!
Svar #2
LIVE DEMO
$(function() {
$("input[name$='value']").change(function() {
window.location.assign("http://www."+ this.value +".com");
});
});
