2014-12-15 10 views
5

Avere una default casella di selezione all'interno di un span

esempio è qui http://jsfiddle.net/pzphbnxb/18/

<span id="all_locations"> 

<select name="united_kingdom" id="united_kingdom" class="location" > 
<option value="blank">Select</option> 
<option value="england">England</option> 
</select> 

</span>  

1) Fare clic sulla casella di selezione e modificare il valore.

2) Come risultato arrivare a visualizzare accanto casella di selezione

3) Se clicco sulla prossima casella di selezione, voglio avvisare (per esempio) id della casella di selezione cliccato. Ma vedo l'avviso della casella di selezione sopra.

Ecco jquery

$(document).on('change', '.location', function(){ 

$('#all_locations').append('<select name="loc_in_england" id="loc_in_england" class="location" ><option value="blank">Select</option><option value="london">London</option>');  

alert ($('.location').find(":selected").val() + ' selected val'); 
alert($(".location").attr('id') + ' select id');  

}); //$(document).on('change'  

Voglio dire, ho cliccato '.location', cliccato certa casella di selezione, devo ottenere attr('id') di classe cliccato. Perché ottengo attr('id') di classe della prima casella di selezione?

Devo usare qualcosa come .closest per ottenere l'id della casella di selezione cliccata? Se .closest, quindi più vicino a cosa?

+0

Si sta utilizzando lo stesso ID per ogni selezionare dopo il primo che provoca confusione al browser così come utente . – John

+0

Intendi 'id =" loc_in_england "' è solo nell'esempio. In realtà verrà visualizzato solo una volta. – user2118559

risposta

6

utilizzare $ (questo) DEMO

$(document).on('change', '.location', function(){ 

// alert('test'); 

$('#all_locations').append('<select name="loc_in_england" id="loc_in_england" class="location" ><option value="blank">Select</option><option value="london">London</option>');  


alert ($(this).find(":selected").val() + ' selected val'); 
alert($(this).attr('id') + ' select id');  

}); //$(document).on('change'  
Problemi correlati