我有多个<select id="direction_X"></select>由我的PHP脚本生成.X是它的ID.我试图通过这样做来选择这些元素:
$('select[id*="direction_"]').live('change', function() {
selected = $('select[id*="direction_"] option:selected');
option_ID = $(selected).val();
console.log(option_ID);
}
Run Code Online (Sandbox Code Playgroud)
事实上,当我使用时,我正在获取option_ID,但如果我尝试使用任何其他的,我将始终获得相同的option_ID.
如果你先点击它,它会给你(一个空字符串),当你点击之后它会给你第一个正确的ID
您应该使用this引用当前select元素的关键字.
$('select[id^="direction_"]').on('change', function() {
var selected = $(this).val(); // this.value
console.log(selected);
})
Run Code Online (Sandbox Code Playgroud)
请注意,该live方法已弃用,您可以使用on方法代替,如果select元素是由php生成的,则无需使用事件委托,如果在页面加载后生成元素,则使用on方法委托事件的正确方法是:
$(document).on('change', 'select[id^="direction_"]', function() {
Run Code Online (Sandbox Code Playgroud)