我创建了一个表,当用户使用input和select字段输入一些值时,该表会动态增长。这是通过jquery的追加来完成的。这是表id =" customFields":
===============================================
| ID | CLASS | PRICE | QTY | DELETE |
===============================================
这是我用来追加行并向表中添加信息的jQuery脚本:
var index = 0;
$("#addPRICE").click(function(){
index++;
var id_value = $("#pack_price").val();
var price_qty= $("#price_qty").val();
//alert(id_value);
$.ajax({
type:"POST",
url:"get_mt_pricelist.php",
data:{mt_id: id_value},
dataType:"json",
success: function(data){
if(data.success=="true"){
$("#customFields").append('<tr id="'+index+'" valign="top"><td align="center"><input type="text" class="code1" id="customID" name="customID[]" value="'+id_value+'" size="3" readonly="readonly"/></td><td><input type="text" class="code2" id="customCLASSE" name="customCLASSE[]" value="'+data.multi_classe+'" readonly="readonly"/></td><td><input type="text" class="code3" id="customPRICE" name="customPRICE[]" value="'+data.multi_price+'" readonly="readonly"/></td><td align="center"><input type="text" class="code4" id="customQTY" name="customQTY[]" value="'+price_qty+'"/></td><td valign="middle" align="center"><a href="javascript:void(0);" class="remCF">Delete</a></td></tr>');
});
});
一切正常,字段正常添加。我使用ajax和所有内容从MySQL数据库中获取一些值。我创建了一个名为remCF的DELETE类,因此当用户点击它时,实际行将被删除。 此外,我有一个索引,给每个ID号码。 我想捕获单元格PRICE和QTY中的值,并在用户单击DELETE时将其弹出警报消息,然后继续执行remove()。
这就是我所做的:
$("#customFields").on('click','.remCF',function(){
alert($(".code3").val());
alert($(".code4").val());
$(this).parent().parent().remove();
});
问题是:警报仅显示我按下的任何DELETE的第一行的值。甚至使用CLASS而不是ID。 如何为我单击的DELETE行获取正确的值?
由于
答案 0 :(得分:2)
你可以试试这个:
var row = $(this).closest('tr');
var customPRICE = row.find('.code3').val();
var customQTY = row.find('.code4').val();
row.remove();