¿Cómo borro el texto rellenado anteriormente de la casilla de verificación cuando desmarco la casilla?
la lista debajo de los códigos es cuando marca una casilla y completa el texto en el área de texto.
$('input:checkbox').click(function(){ var tb = "#"+$(this).attr('rel'); if($(this).is(":checked")) $(tb).append(this.name + "\n"); else($(tb)).removeAttr(":checked"); })Puede utilizar la función replace() para eliminar el nombre del campo de texto.
$('input:checkbox').click(function() { var tb = "#" + $(this).attr('rel'); let text_to_add = this.name + "\n"; if ($(this).is(":checked")) { $(tb).append(text_to_add); } else { let remove = this.name + "\n"; $(tb).text(function(i, text) { return text.replace(text_to_add, ''); }); } })La siguiente secuencia de comandos reúne los valores de atributo de name de las casillas de verificación marcadas y los coloca en el cuadro de texto al que se dirige el atributo rel de la casilla de verificación:
$('input:checkbox').click(function(){ var tb = $(this).attr('rel'); $("#"+tb).val($("[rel="+tb+"]:checked").map((i,e)=>e.name).get().join("\n")) }) textarea {height:50px} <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label><input name="one" type="checkbox" rel="mytext">one</label> <label><input name="two" type="checkbox" rel="mytext">two</label> <label><input name="three" type="checkbox" rel="mytext">three</label><br> <textarea id="mytext"></textarea> <br> <label><input name="four" type="checkbox" rel="text2">4</label> <label><input name="five" type="checkbox" rel="text2">5</label> <label><input name="six" type="checkbox" rel="text2">6</label><br> <textarea id="text2"></textarea>