2010-03-21 27 views
6

Seçimde değişiklik yüklemek istediğim şu kodu aldım ve aynı zamanda başlangıçta seçim yükünü de yapalım (çünkü FF 'son damlasının değerini kaydeder) belirli koşullar altında).

fonksiyonun seçme kısmı düzgün çalışır, ancak load2 arayarak nedense doğrudan $('#select1').value değeri bile yük select1.value bir değere sahip hemen sonra Firebug DOM kontrol ederken bile, undefined olduğunu.

select1.value hazır olduğunda load2 işlevini nasıl çalıştırabilirim? $('#select1')'un tüm öğeleri başlatıldığında hangi olay bana anlatacak?

$(document).ready(function() { 
    //Setup change hook 
    $('#select1').change(function(event) { 
     //Remove the old options right away 
     $('#select2').find('option').remove(); 
     //Load the new options 
     load2(this.value); 
    }); 

    //Do load for current value 
    load2($('#select1').value); 
}); 

cevap

6

jQuery nesnesi herhangi value alan yoktur AFAIK. Dolayısıyla, aşağıdaki deyim load2() işleve undefined değerini geçmesi beklenir:

load2($('#select1').value); 

jQuery nesnesi, ancak, bir val() işlevi var. Alternatif

load2($('#select1').val()); 

, böyle DOM alanını value erişmek mümkün olmalıdır: yerine o kullanmayı deneyin

load2($('#select1').get(0).value); 
+0

+1 Bu, Firefox'umda çalışır. – balpha

+0

Mükemmel, teşekkürler. –

1

Ben doğru bir şekilde anlamış, bir değer olup olmadığını görmek için kontrol edebilir, sonra çalıştırın:

if ($('#select1').value) { 
    load2($('#select1').value); 
} 
+0

Sorun şu ki benim ikinci seçim listesi olan yerleşmiş olmayacak olmasıdır Tam olarak ne yapmaya çalıştığımı (bu listeyi doldurun). –

İlgili konular