我如何操纵附加到jquery中的现有表的表行

时间:2011-02-14 14:55:49

标签: jquery

我将带有输入元素的表行附加到现有表中,如下所示:

$("#additems_table").append(
"<tr><td style='color:#999; font-size:16px;'>"+(counter++)+"</td><td>
<select class='item'><?php while($product_rows=mysql_fetch_assoc($productSQL)){?><option value='<?php echo $product_rows['pid']; ?>'><?php echo $product_rows['name']; ?></option><?php }?></select></td><td id='quantity_td'><input name='quantity' class='quantity' type='text' style='width:35px' id='cost"+(numqty++)+"' /><input type='hidden' name='price_hf' id='cost"+(numprice++)+"'/></td><td id='amount_td'><input name='amount' id='cost"+(numamount++)+"' style='width:70px' type='text' value='3' disabled='disabled'/></td></tr>");
});

当我尝试在上面附加的行中操纵这些元素时出现问题。它根本不听任何事件,点击,更改等,例如

$("#additems_table input[type=text]").each(function(){
    $(this).change(function(){          
        alert("amount");
    });
})

我真的很感激帮助。

1 个答案:

答案 0 :(得分:1)

好的,连接新的输入元素可以执行以下操作:

$(function(){

    $('#additems_table input[type="text"]').live('change', function(){

    });
});

这意味着:on load为#additems_table内的所有元素的change事件创建一个全局处理程序。实时方法可以动态创建新元素(输入文本框),而无需担心其事件注册。新附加元素的change事件将触发并自动处理。