2012-01-12 26 views
18

Seçilen değeri JavaScript kullanarak açılan listeden nasıl alabilirsiniz? Aşağıdakileri denedim ama işe yaramıyor.JavaScript'deki açılır listeden seçili değer nasıl alınır?

var sel = document.getElementById('select1'); 
var sv = sel.options[sel.selectedIndex].value; 
alert(sv); 
+0

sv'ye nereden geliyorsunuz? – Kangkan

+1

html içeriğinizi, kullanılan javascript işleviyle birlikte yapıştırır – AmGates

+0

Ayrıca bkz: http: // stackoverflow.com/sorular/1085801/how-to-get-seçilmiş değer-of-the dropdownlist kullanan-javascript – Kangkan

cevap

25

Bu benim için iyi çalışıyor.

<div> 
    <select id="select1"> 
     <option value="1">test1</option> 
     <option value="2" selected="selected">test2</option> 
     <option value="3">test3</option> 
    </select> 
    <br/> 
    <button onClick="GetSelectedItem('select1');">Get Selected Item</button> 
</div> 

Ve aşağıdaki JavaScript:

function GetSelectedItem(el) 
{ 
    var e = document.getElementById(el); 
    var strSel = "The Value is: " + e.options[e.selectedIndex].value + " and text is: " + e.options[e.selectedIndex].text; 
    alert(strSel); 
} 

doğru id kullanırken Bkz

Aşağıdaki HTML var. ASP.NET ile kullanıyorsanız, kimlik işlenirken değişir.

+1

Neden doğrudan fonksiyonu içine seçme elemanı geçemez? Ardından, select elemanını id ile aramanız gerekmeyecektir. Aynı elementten senaryoyu yürütmesini ise – Andrej

+0

, eleman geçen 'bu' kullanarak kolaydır. Ancak diğer elementlerden, bu durumda olduğu gibi, iyi bir yol elemanı kimliği geçmek ve işlevinde elemanı almak olacaktır. Cevabımı buna göre güncelledim. – Kangkan

3

Doğrudan value sadece iyi çalışması gerekir: o zaman seçili bir öğe, selectedIndex döner -1 ve kod sonları olduğunda kodunuzu başarısız olabilir

var sv = sel.value; 
alert(sv); 

tek sebebi.

+0

i açılır listesinden gelmiş bkz –

+0

çalışmıyor onun ve ben ondan bir öğe seçin ve uyarı kullanarak görüntülemek çalışıyorum ama çalışmıyor uyarısı boş . Kodunuzun daha fazlasını yayınlayın ve yanlış yaptığınızı göreceğiz. –

+0

kod bazı olay işleyicisi içinde olmalıdır jquery –

1

o İşte size

function GetSelectedItem() 
{ 
    var index = document.getElementById(select1).selectedIndex; 

    alert("value =" + document.getElementById(select1).value); // show selected value 
    alert("text =" + document.getElementById(select1).options[index].text); // show selected text 
} 
0

için çalıştığını Umut benim çözüm bulduğumuz yere yönlendiriyor

Önce için UI tasarımı javascript açılan seçilen değeri almak için basit bir örnek açılan

<div class="col-xs-12"> 
<select class="form-control" id="language"> 
    <option>---SELECT---</option> 
    <option>JAVA</option> 
    <option>C</option> 
    <option>C++</option> 
    <option>PERL</option> 
</select> 

Sonra seçili öğeyi almak için senaryo yazmaya gerek

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#language').change(function() { 
     var doc = document.getElementById("language"); 
     alert("You selected " + doc.options[doc.selectedIndex].value); 
    }); 
}); 

Şimdi zaman değişim açılır Seçilen öğe uyarısı olacaktır.

0

Html5 özelliklerine göre kullanmanız gerekir - element.options [e.selectedIndex].

ör. Aşağıda gibi seçme kutusu varsa:

<select id="selectbox1"> 
    <option value="1">First</option> 
    <option value="2" selected="selected">Second</option> 
    <option value="3">Third</option> 
</select> 
<br/> 
<button onClick="GetItemValue('selectbox1');">Get Item</button> 

sen şu komut dosyası kullanarak değeri elde edebilirsiniz:

<script> 
function GetItemValue(q) { 
    var e = document.getElementById(q); 
    var selValue = e.options[e.selectedIndex].text ; 
    alert("Selected Value: "+selValue); 
} 
</script> 

denendi ve test.

İlgili konular