Me pregunto cómo podré eliminar la etiqueta, incluido el campo de entrada definido con una clase de un formulario de validación. En realidad, estoy recuperando el valor de la base de datos en la etiqueta del formulario y quiero eliminar los campos del formulario que no tienen valor de etiqueta. Estoy intentando con los siguientes códigos:

JS

<script>
if ($(label[for="flp"].length < 0)){
    $(document).ready(function(){

        $("div").remove(".form-group");

    });
}
</script>

HTML

<form>
    <div class="form-group">
        <label for ="flp" class="col-lg-3 control-label">label</label>
        <div class="col-lg-5">
            <input type="text" class="form-control" name="field1" />
        </div>
    </div>
</form>

No puedo entender dónde estoy haciendo mal. ¿Podrías ayudarme a resolverlo?

-1
Ramen 10 dic. 2015 a las 09:15

3 respuestas

La mejor respuesta

Tratar:

 $(document).ready(function(){
    $('label').each(function(i,v) {
      if($(v).text().length == 0) {
         $(v).parent('.form-group').remove();
       };
    });

https://jsfiddle.net/3c3hp57u/

1
madalinivascu 10 dic. 2015 a las 06:47

Debe usar document.ready en la parte más externa y mantener todo su script dentro de él. Además, su sintaxis para la longitud de la etiqueta y para eliminar div con una clase particular es incorrecta, vea el código a continuación

$(document).ready(function(){
   //if ( $('label[for="flp"]').length < 0)  ){//this will never be true as length will 0 or greater than 0
   if ( $('label[for="flp"]').length == 0)  ){//check length for label element
        $("div.form-group").remove();//remove div with class form-group
   }
});
0
Bhushan Kawadkar 10 dic. 2015 a las 06:42

Prueba el siguiente

$(document).ready(function(){  
   if (($('label[for="flp"]').text().length)==0){ 
     $("div").remove(".form-group");
   }
});

Esto funcionará seguro

0
Natalie Hedström 10 dic. 2015 a las 08:35