我这里有这个代码来获取点击的输入元素的id:
jQuery(event.target.id).change(function(){
if(event.target.id===null)
{
}
else
{
alert(event.target.id);
}
});
例如:我有一个动态生成的文本框。使用上面的代码单击它后,它将返回id。
但是,当我单击下拉列表输入时,它返回null,但在检查元素时,id就在那里。它仍然会进入else块。
我正在为动态生成的字段使用此事件。
可能出现什么问题?
很抱歉,如果它看起来很无趣,我是jQuery的新手。
答案 0 :(得分:3)
在选择元素上,您需要收听更改事件,而不是点击事件:
$('select').change(function() {
var selectId = $(this).attr('id');
var optionId = $(this).find(":selected").attr('id');
alert('select id:' + selectId);
alert('option id: ' + optionId);
});
<强>更新强> 通常在select元素中,您将查找选项值。这就是你要这样做的方式:
$('#selectId').change(function() {
var optionValue = $(this).find(":selected").val()
alert(optionValue);
});
答案 1 :(得分:0)
尝试访问原始目标
var originalElement = event.srcElement || event.originalTarget;
console.log(originalElement.id)