2010-06-19 26 views
5

Bir kullanıcının, bir seçim seçme denetiminde kullanıcı seçimine dayalı olarak yeni bir URL'ye gitmesine izin veren küçük bir parçacık yazmayı deniyorum.jQuery, seçili seçenek olarak sayfaya gitmek için

<script type="text/javascript"> 
/* <[CDATA[ */ 
jQuery.noConflict(); 
jQuery(document).ready(function(){ 
    var id = jQuery($this).val(); 
    var url = some_Lookup_func(id); 
    jQuery("#the_id").change(function() { /* how do I navigate the browser to 'url' ?*/); 
}); 
/* ]]> */ 
</script> 

Not: Bu istediğim AJAX davranış değildir, sana bir köprü tıklandığında sanki tarayıcı davranmasını istiyoruz. Bunu daha önce yaptım, ama nasıl yapılacağını unuttum.

  1. tamamen yeni bir sayfaya gidin: - Ben Geçerli sayfada içeriğini yerleştirmek istemiyorum çünkü - İstiyorum Bir jQuery docs bakmak ve yük() bunu yapmak için görünmüyor vardı Ben seçilen öğenin (örneğin id giderek am url
  2. geçişli parametreleri Bu aynı zamanda göreli url ile çalışır

cevap

6

jQuery

var YourParam="sunshine"; 

$(document).ready(function() { 
    $("#goto").change(function(){ 
    if ($(this).val()!='') { 
     window.location.href=$(this).val()+"?param="+YourParam; 
    } 
    }); 
}); 

HTML

<form action="whatever.shtml" method="post" enctype="multipart/form-data"> 
    <select id="goto"> 
    <option value="">Go somewhere...</option> 
    <option value="http://cnn.com/">CNN</option> 
    <option value="http://disney.com/">Disney</option> 
    <option value="http://stackoverflow.com/">stackoverflow</option> 
    <option value="http://ironmaiden.com/">Iron Maiden</option> 
    </select> 
</form> 
3
window.location.href = 'http://example.com/newlocation?param1=value1'; 

:

window.location.href = '/newlocation?param1=value1'; 
+0

ben bu son derece yararlı buldum ederiz! – alekwisnia

0

Sadece sayfayı yeniden yüklemek için URL'nize window.location.href'u ayarlayın. Parametreleri geçmek için "name = value & name = value" dizesini oluşturun ve sonuna yapıştırın. jQuery bunu yapmak için kolaylaştıran bir "serileştirme" yöntemi sağlar (başlangıçta zor olsaydı).

1

Bu (Gert cevabı dayanarak) Bunu yaparken optimal bir yol olduğunu tahmin:

$(document).on('change','#goto', function(event){ 
    if ($(event.target).val()!='') { 
     window.location.href=$(event.target).val(); 
    } 
    }); 
İlgili konular