2013-05-23 4 views
7

Buona giornata.Jquery - come ottenere valore ul quando si fa clic su li?

Ho ul elenco sulla mia pagina. mi serve ottenere il valore ul quando clicco su li.

Html:

.ddlist { 
position: absolute; 
width: 316px; 
display: none; 
background-color: #fff; 
border: 1px solid #ccc; 
border-top: none; 
margin: 0; 
padding: 0; 
margin-top: -3px; 
} 

.ddlist li { 
list-style: none; 
padding: 5px; 
} 


<ul id="list_t_railway" class="ddlist" style="display: block;"> 
    <li>Белорусский вокзал</li> 
    <li>Казанский вокзал</li> 
    <li>Киевский вокзал</li> 
</ul> 

Per valore get ul i usano script:

$("#list_t_railway").on("click", function(){ 
     alert($(this).val()); 

    }); 

ma ottengo valore vuoto ...

Dimmi si prega perché ottengo valore vuoto e come Scrivi giusto?

P.S .: tutto lo script per il test è possibile vedere here

+0

cosa stai cercando di ottenere> il '.VAL()' guarda per la proprietà 'value' dell'elemento –

+0

' val() 'funzione è prevista solo per i' input/textarea/selezionare 'elementi. che tipo di valore ti aspetti dal tuo 'ul'? – haim770

+0

cosa intendi per valore? vuoi sapere quanti figli di UL? o valore dei bambini? – Janak

risposta

12

Se si desidera alert il contenuto dell'elemento li, è possibile aggiungere un gestore di clic su tutti gli elementi li.

$("#list_t_railway li").on("click", function(){ 
    alert($(this).text()); 

}); 

violino Aggiornato: http://jsfiddle.net/t7ruw/2/

2

li elementi non hanno value, quindi .val() non tornerà nulla. Inoltre, non c'è nessun gestore di eventi legati agli <li> elementi stessi:

$("#list_t_railway li").on("click", function(){ 
    alert($(this).text()); 
}); 
2

provare questo vi darà lo stesso outpuy

$(document).on("click","#list_t_railway li", function(){ 
    alert($(this).text()); 
}); 
0

Se si desidera ottenere valore ul quindi utilizzare questo.

$("ul#list_t_railway li").on("click", function(){ 
alert($("ul#list_t_railway").text()); 

}); 
0
$("#list_t_railway li").on("click", function(){alert($(this).html());}); 
+2

Si prega di evitare [risposta solo in codice] (http://meta.stackexchange.com/a/148274/237701). –