如何从jQuery(document).on('change ',...)中获取选择标记值

cqoc49vn  于 2023-01-20  发布在  jQuery
关注(0)|答案(3)|浏览(162)

span中有一个默认选择框
此处示例为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)点击选择框并更改值。
2)结果显示下一个选择框
3)如果我点击下一个选择框,我想提醒(例如)id点击的选择框。但我看到上面的选择框的警告。
下面是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'

我的意思是,我点击了'.location',点击了某个选择框,我必须得到被点击类的attr('id'),为什么我得到了第一个选择框类的attr('id')
我需要使用类似.closest的东西来获取点击选择框的id吗?如果是.closest,那么最接近什么?

ccrfmcuu

ccrfmcuu1#

使用$(this)代替$('.location')

$(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'

DEMO

eqoofvh9

eqoofvh92#

http://jsfiddle.net/pzphbnxb/22/
试试这个

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

q9rjltbz3#

$(document).on("change", "#userTask", function(e) {
  const getData = $('option:selected').text();
  const id = $('#userTask').find(":selected").val();
});

通过这种方式,您可以从所选标签中获取值和文本值

相关问题