我有3个依赖的选择列表,这些列表由mysql填充,然后我使用jquery帖子来填充其余的更改事件。一旦3个列表具有选择,它就输出关于三者组合的数据,例如基于最后从该供应商处以该价格购买的那些规格。我想回显一个带有id的编辑按钮,这样我就可以使用该id构建一个表单,但是当我回显图片时,我无法使用类或img属性来提醒它。
PHP:
echo "
<div class='steel-edit-button'><img id='".$row['grade_id']."' src='pics/edit-paper.png' class='left-item-pic'></div>
<div class='seller-base-info'>
<div class='seller-info-header'><span class='dealer-title'>Supplier:</span><br>".$row['dealer']."</div>
<div class='seller-price-contain'><span class='dealer-title'>Price:<br></span>".$row['price']." /<br>".$row['length']."</div>
<div class='seller-date-contain'><span class='dealer-title'>Date:<br></span>".$row['date']."</div>
</div>
<div class='seller-comments'>Comments:<br><textarea class='seller-comments' disabled placeholder='".$row['comment']."'></textarea></div>
";
是我的回声,然后这是脚本:
$(".left-item-pic").click(function() {
alert($(this).attr('id'));
});
答案 0 :(得分:1)
最可能的是脚本在元素存在之前运行,因此$(“。left-item-pic”)`找不到它,并且事件处理程序永远不会被附加。三个选项:
将中的脚本放在HTML中(通常建议就在结束</body>
标记之前)
使用jQuery的ready
function安排您的脚本在“DOM ready”上运行
改为使用委派的处理程序:
$(document).on("click", ".left-item-pic", function() {
alert($(this).attr("id"));
});
附注:$(this).attr("id")
可以只是this.id
,该属性会反映为DOM元素的属性。