2013-02-23 113 views
0

我發現了一個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

+0

您是否在IE或FF控制檯中看到任何javascipt錯誤? – SRy 2013-02-23 08:33:52

+0

你可以做小提琴嗎? – Barmar 2013-02-23 08:38:38

+0

我沒有看到任何錯誤。我試圖做一個小提琴,但我甚至無法讓添加行在小提琴中工作。這裏是我創建的測試頁面的鏈接,如果您使用chrome或safari添加配料和去除配料工作。然而,在Firefox(我相信IE,我沒有它測試),刪除成分按鈕不起作用。 http://skafreaksonline.com/test.php?func=edit&editid=5 – 2013-02-23 09:29:31

回答

0

我查看HTML源。我看到很多html標籤是不正確的位置。在標籤樣式關閉標籤之前沒有任何打開的標籤。 你應該修復這個錯誤。已打開標記並關閉標記有效。

+0

我不知道每個標籤都是完美的,我只是一個業餘編碼器,但我不確定你的意思。 – 2013-02-23 10:12:54

+0

嘿。你應該這樣做。當打開的標籤與關閉標籤不匹配時,可能會發生無法控制的錯誤。 – H2O 2013-02-23 10:18:53

+0

我知道我應該修復一個標籤,但我不明白你在說什麼標籤。 – 2013-02-23 10:26:09

相關問題