2011-08-22 30 views
8
$('#buttonadd').click(function(){ 
      if ($counter < 10) 
      { 
       $counter++; 
       $countonlyadd++; 
       $('#buttondiv').append('<tr><td><select class="combo" name="combo'+$counter+'" style="width: 60px;" size="1"><option>UND</option><option>OHNE</option><option>ODER</option></select></td><td><input type="text" name="textbox'+$counter+'" class="textbox" value="" /><a id="removetxt" class="removetxt" style="text-decoration: none;line-height: 3;" href="#">&nbsp;[X]</a></td></tr>'); 
      }else{ 
      } 
      $('#send_count').val($countonlyadd); 
     }); 

Mã của tôi không hoạt động trong Internet Explorer và tôi không biết tại sao. Tất cả các trình duyệt khác đều ổn nhưng IE thì không. Anh ấy không thêm ngay cả 1 hộp văn bản.jQuery chắp thêm không hoạt động trong IE8

+0

Bạn có thêm hàng vào một 'div', không có' table' wrapper? –

+0

không chỉ đặt tên nó với $ và không có tôi # am không thêm hàng –

+0

nó là kinda khó hiểu, thường $ xxx biến cho các đối tượng jQuery, không cho các loại số như ông đang sử dụng. –

Trả lời

8

ya vấn đề là IE chế độ tương thích. Điều này hoạt động tốt trong IE9 http://jsfiddle.net/NP9pG/3/ và firefox nhưng khi bạn chuyển sang chế độ tương thích IE, nó không hoạt động.

<div id="buttondiv"> </div> 
<div id="send_count"></div> 
<input type="button" id="buttonadd" value="add" /> 

nhưng http://jsfiddle.net/NP9pG/4/ này sẽ làm việc tho tốt trong chế độ tương thích IE

<table id="buttondiv"> </table> 
<div id="send_count"></div> 
<input type="button" id="buttonadd" value="add" /> 

ya vấn đề là html của bạn mark-up như đề xuất thực hiện thay đổi sau

<div id="buttondiv"> 
    <table id="tableData"></table> 
</div> 

thay vì thêm mục đến table thay vì div phần tử

đang do đó js:

$('#tableData').append('<tr><td><select class="combo" name="combo'+$counter+'" style="width: 60px;" size="1"><option>UND</option><option>OHNE</option><option>ODER</option></select></td><td><input type="text" name="textbox'+$counter+'" class="textbox" value="" /><a id="removetxt" class="removetxt" style="text-decoration: none;line-height: 3;" href="#">&nbsp;[X]</a></td></tr>'); 

hy vọng rằng sẽ giúp

+0

điểm là tôi đã thử nó và nó không phải là phụ thêm bất cứ điều gì trong bất kỳ trình duyệt sau đó, vì vậy nó # một chút khéo léo –

+0

có một cái nhìn tại fiddler này: http://jsfiddle.net/NP9pG/4/ nó hoạt động trong firefox và IE – zulucoda

+0

cảm ơn bạn !!! u r awesome –

0

Câu hỏi là:

  • Bạn có $ truy cập được xác định?
  • Bạn đã xác định $ countonlyadd chưa?
  • Bạn có < table> trình bao bọc trong #buttondiv không?

Hãy suy nghĩ về những câu hỏi này và nếu kết quả là "không", đó là vấn đề

Nếu bạn có < table> wrapper, thay đổi

$('#buttondiv'). 

để

$('#buttondiv table'). 
+0

kiểm tra - kiểm tra và kiểm tra –

+0

nhưng bạn không có wrapper;) – genesis

+0

Sau đó, xem xét việc thêm vào bảng thay vì div trực tiếp. –

3

Nó xuất hiện bạn đang thêm một TR vào một div, đây có thể là vấn đề của bạn. Bạn nên thêm nó vào TBODY của một BẢNG thay thế.

0

Có lẽ nó sẽ giúp ích nếu bạn tạo các yếu tố đầu tiên .. đồng thời tạo đối tượng cho hàng, cột, hộp văn bản, v.v. Và nối thêm vào nhau. Cuối cùng nối thêm hàng vào div của bạn. Bên cạnh đó, có một chút lạ khi thêm hàng vào div, chứ không thêm vào một bảng ...

4

Có vẻ như bạn đang thêm một số tr vào đó không phải là một html hợp lệ trong bất kỳ trình duyệt nào. Các trình duyệt khác sẽ không kêu lên nhưng IE sẽ làm như vậy. Thử cái này.

Làm việc demo

Markup thay đổi thay đổi

<div id="buttondiv"> 
    <table></table> 
</div> 

JS

$('#buttonadd').click(function(){ 
      if ($counter < 10) 
      { 
       $counter++; 
       $countonlyadd++; 
       $('#buttondiv table').append('<tr><td><select class="combo" name="combo'+$counter+'" style="width: 60px;" size="1"><option>UND</option><option>OHNE</option><option>ODER</option></select></td><td><input type="text" name="textbox'+$counter+'" class="textbox" value="" /><a id="removetxt" class="removetxt" style="text-decoration: none;line-height: 3;" href="#">&nbsp;[X]</a></td></tr>'); 
      }else{ 
      } 
      $('#send_count').val($countonlyadd); 
     }); 
+0

không hoạt động trong bất kỳ trình duyệt nào với điều đó .. sry –

+0

Bạn có nghĩa là nó không được thêm vào trong bất kỳ trình duyệt nào? – ShankarSangoli

+0

Truy cập các công cụ phát triển trình duyệt ưa thích của bạn, Firebug, bất cứ điều gì và xem cấu trúc nút mà mã của bạn đã tạo. –

Các vấn đề liên quan