2011-08-22 14 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); 
     }); 

Mi código no funciona en Internet Explorer, y no sé por qué. Todos los demás navegadores están bien, pero IE no. Él no está agregando ni 1 cuadro de texto.jQuery Agregar no funciona en IE8

+0

¿Desea agregar filas en una 'div', sin' envoltorio table'? –

+0

no acaba de nombrarlo con $ y no # no estoy agregando filas –

+0

es algo confuso, por lo general las variables $ xxx son para objetos jQuery, no para tipos de números como los que está usando. –

Respuesta

8

ya el problema es el modo de compatibilidad de IE. Esto funciona bien en IE9 http://jsfiddle.net/NP9pG/3/ y firefox, pero cuando cambias al modo de compatibilidad IE no funciona.

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

pero esto http://jsfiddle.net/NP9pG/4/ funcionará bien aunque en modo de compatibilidad de IE

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

ya el problema es su marcado HTML como se sugiere hacer el siguiente cambio

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

lugar necesario añadir elementos a table en lugar de div elemento

código, por tanto, 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>'); 

esperanza de que ayuda a

+0

el punto es que lo probé y no agrega nada en ningún navegador, por lo que es un poco astuto –

+0

eche un vistazo a este violín: http://jsfiddle.net/NP9pG/4/ funciona en Firefox y IE – zulucoda

+0

gracias! Eres impresionante –

0

Las preguntas son:

  • ¿Se han definido $ mostrador?
  • ¿Tiene $ countonlyadd definido?
  • ¿Tiene < table> envoltura en #buttondiv?

pensar en estas preguntas y si el resultado es "no", que es el problema

Si tiene < table> envoltorio, cambie

$('#buttondiv'). 

a

$('#buttondiv table'). 
+0

check - marque y marque –

+0

pero no tiene envoltura;) – genesis

+0

Luego considere agregar a la tabla directamente en lugar de div. –

3

Se Parece que estás agregando un solo TR a un div, que puede ser tu problema. Debe agregarlo al TBODY de una TABLA en su lugar.

0

Tal vez te ayude crear los elementos primero ... así que crea un objeto para tu fila, columna, cuadro de texto, etc. Y luego añádelos uno al otro. Finalmente agrega la fila a tu div. Además de eso, es un poco extraño agregar una fila a un div, y no a una tabla ...

4

Parece que está agregando un tr directamente en el que no es un html válido en ningún navegador. Otros navegadores no gritarán pero IE lo hará. Prueba esto.

Trabajando demo

cambio marcado cambio

<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

que no funcione en ningún navegador con ese .. sry –

+0

¿Quieres decir que no se agrega en ningún navegador? – ShankarSangoli

+0

Vaya a las herramientas de desarrollo de su navegador favorito, Firebug, lo que sea, y observe la estructura de nodos que creó su código. –

Cuestiones relacionadas