2014-11-03 21 views
16

Açılır listeden değerler değiştiğinde javascript işlevini çağırmak istiyorum. Açılır liste kimliği'u sabitlemek istemiyorum. Dolayısıylaçağrı javascript işlevi açılır listesinin onchange olayı

document.getElementById kullanmayan

Benim Kod:

<select id ="ddl" name="ddl" onmousedown="this.value='';" onchange="jsFunction(this.value);"> 
    <option value='1'>One</option> 
    <option value='2'>Two</option> 
    <option value='3'>Three</option> 
</select> 

function jsFunction(value) 
{ 
    alert(value); 
} 

Bu ReferenceError: jsFunction is not defined

Fiddle hatayı veriyor: http://jsfiddle.net/6uyz4b8x/1/

+2

http://jsfiddle.net/ (o kadar kolay [bunu istiyor] Onun 6uyz4b8x/2 /)? Fiddle ayarlarını güncellemeniz gerekiyor. 2. açılır listeyi değiştirmek için ** adresinden ** nowrap olarak değiştirin! –

+0

@DhavalMarthak: Evet +1! – Shaggy

cevap

16

içine değiştirmek

jsFunction = function(value) 
{ 
    alert(value); 
} 

ve global değişkenler ve fonksiyonlar kullanmayın: değiştirmek. Sadece bu deneyin jQuery

$("#ddl").change(function() { 
       alert($(this).val()); 
      }); 

jsFiddle

8

bilmiyorum neden bu onmousedown olayı gerekiyor Burada, ama yapmanız gereken, işlevinizi gerçek kullanımın üzerine koymaktır. Aşağıdaki snipplet bak:

<script type="text/javascript"> 
 
function jsFunction(value) 
 
{ 
 
    alert(value); 
 
} 
 
</script> 
 

 
<select id ="ddl" name="ddl" onmousedown="this.value='';" onchange="jsFunction(this.value);"> 
 
    <option value='1'>One</option> 
 
    <option value='2'>Two</option> 
 
    <option value='3'>Three</option> 
 
</select>

1

jsFunction iyi kapanması değil. Kodunuz Hazır DOM önce javscript yöntem bildirmek gerek sadece çalışmaktadır module

+0

Bu sorunu çözmez. Cevabınız sadece iyi tavsiyeler veriyor. –

+0

kontrol edin, çözer :) – bemol

+0

Garip ... Aslında öyle. Bunun için üzgünüz;) –

3

,

<script> 

    $("#YourDropDownId").change(function() { 
      alert($("#YourDropDownId").val()); 
     }); 

</script> 
+0

Metin almak istersem ne olur? seçimin de. $ (This) .text() 'yi denedim, ancak her bir tıklama için tüm açılanlar için tüm metinleri gösterir. – Unbreakable

4

kullanılarak

your working example

+1

Metin nasıl eklenir – Unbreakable

+0

@Unbreakable: 'var e = document.getElementById (" YourDropDownId "); var str = e.options [e.selectedIndex] .value; ' – Rashmy

İlgili konular