我發現了一個jQuery腳本來創建一個表,並有一個按鈕來添加行到表的底部。然後點擊每行時有鏈接刪除該特定行。 Chrome & Safari中的所有功能都可以正常使用,但FireFox或IE中無法使用。這裏是Jquery。。刪除工作在鉻和Safari瀏覽器,但不是在FF和IE
if ($("table#data tbody tr").size() == 1) {
$('.deleteRowButton').hide();
}
$('.deleteRowButton').live('click',function() {
var bid = $(this).attr('id');
var nid = bid.replace(/[^\d.]/g, "");
var pid = $("#product" + nid).val();
$("#productschanges").append("2:" + nid + ":" + pid + ",");
if ($("table#data tr").size() > 1) {
$(this).parents('tr').first().remove();
if ($("table#data tbody tr").size() == 1) {
$('.deleteRowButton').hide();
} else {
$('.deleteRowButton').show();
}
} else {
$('.deleteRowButton').hide();
}
});
$(".addRowButton").click(function() {
$("table#data tbody tr:last").clone(true).find("select").each(function() {
$(this).attr({
'id': function(_, id) {
return this.id.replace(/[0-9]/g, '') + i;
},
'name': function(_, name) {
return this.name.replace(/[0-9]/g, '') + i;
},
'value': function(_, value) {
return '';
}
});
$(this).prop('disabled', false);
}).end().find("input").each(function() {
$(this).attr({
'id': function(_, id) {
return this.id.replace(/[0-9]/g, '') + i;
},
'name': function(_, name) {
return this.name.replace(/[0-9]/g, '') + i;
},
'value': function(_, value) {
return '';
}
});
}).end().find("button").each(function() {
$(this).attr({
'id': function(_, id) {
return this.id.replace(/[0-9]/g, '') + i;
},
});
}).end().appendTo("table#data tbody");
i++;
$('.deleteRowButton').show();
});
.deleteRowButton中的append適用於所有瀏覽器,但不會按預期刪除該行。任何幫助,爲什麼這不是在兩個瀏覽器中工作?
感謝 2Pher
您是否在IE或FF控制檯中看到任何javascipt錯誤? – SRy 2013-02-23 08:33:52
你可以做小提琴嗎? – Barmar 2013-02-23 08:38:38
我沒有看到任何錯誤。我試圖做一個小提琴,但我甚至無法讓添加行在小提琴中工作。這裏是我創建的測試頁面的鏈接,如果您使用chrome或safari添加配料和去除配料工作。然而,在Firefox(我相信IE,我沒有它測試),刪除成分按鈕不起作用。 http://skafreaksonline.com/test.php?func=edit&editid=5 – 2013-02-23 09:29:31