jQuery选择由php脚本生成的元素

mik*_*kek 2 regex jquery

我有多个<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

und*_*ned 6

您应该使用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)

属性从选择器开始 |