function convertUnits(obj) { if($(obj).is(":checked")){ $(obj).after(' "'); }else{ $(obj).after(' mm'); } } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td> <input type='checkbox' id='units' onchange="convertUnits(this)"/> </td> </tr> <tr> </table>Estoy tratando de cambiar/reemplazar texto después de una entrada de texto según el botón de opción elegido.
Puedo agregar texto pero no lo reemplaza...
Estoy usando este código para agregar el texto... convInputs es una matriz de todas las entradas que quiero agregar al final de la entrada. Dependiendo de la casilla de verificación seleccionada, es '/', ' "' o 'mm' como en el texto de ejemplo.
En este momento, cuando cambio la casilla de verificación, el texto simplemente se agrega y no se reemplaza con el nuevo texto ... es decir: / " mm.
[https://jsfiddle.net/frankn/c6mjvLxd/19/][1]
editar: jsfiddle agregado con un ejemplo de código simplificado de mi código real y lo que está sucediendo.
edición n. ° 2: como se sugirió, agregué un fragmento de código aquí.
Bueno, después de una pregunta complicada y algo de ayuda y sugerencias... esto es lo que se me ocurrió...
function convertUnits(obj) { if($(obj).is(":checked")){ $(obj).next().remove() $(obj).after("<label> test</label>") }else{ $(obj).next().remove() $(obj).after("<label> new</label>") } } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td> <input type='checkbox' id='units' onchange="convertUnits(this)"/> </td> </tr> <tr> </table>