从jquery帖子提醒ID

时间:2014-11-12 08:30:07

标签: javascript php

我有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'));
});

1 个答案:

答案 0 :(得分:1)

最可能的是脚本在元素存在之前运行,因此$(“。left-item-pic”)`找不到它,并且事件处理程序永远不会被附加。三个选项:

  1. 中的脚本放在HTML中(通常建议就在结束</body>标记之前)

  2. 使用jQuery的ready function安排您的脚本在“DOM ready”上运行

  3. 改为使用委派的处理程序:

    $(document).on("click", ".left-item-pic", function() {
        alert($(this).attr("id"));
    });
    

  4. 附注:$(this).attr("id")可以只是this.id,该属性会反映为DOM元素的属性。