2015-05-15 19 views
6

Mi sento un po 'stupido a fare questa domanda ma per qualche motivo non posso per la vita di me pensare a come fare ciò che voglio.Nascondere una riga se il valore restituito è vuoto

Ho un <div class="row"> che ha il mio campo etichetta e campo in esso.

Voglio nascondere completamente questa riga se il valore del mio campo viene restituito come vuoto.

HTML (tenuto nel mio sistema CMS):

<div id="rollNumber" class="row"> 
    <label class="col-sm-offset-2 col-sm-3 control-label">[!RollNumberLabel]</label> 
    <div class="col-sm-2 form-control-static">[!RollNumber]</div> 
</div> 

Vista Codice:

if (newBankdetails.RollNumber != null && newBankdetails.RollNumber != "") 
{ 
    template.Nvc.Add("[!RollNumberLabel]", "Roll number"); 
    template.Nvc.Add("[!RollNumber]", newBankdetails.RollNumber); 
} 

Ho provato a fare:

template.Nvc.Add("[!RollNumberLabel]", ""); 
template.Nvc.Add("[!RollNumber]", ""); 

ma questo aggiunge spazio bianco tra la fila sopra e Belo w questa riga.

Sono pronto per eventuali suggerimenti, sia che si tratti di JavaScript, JQuery, CSS o se è possibile farlo, utilizzando l'HTML (anche se non penso che possa essere fatto in questo modo).

Non riesco ad aggiungere alcun codice al mio CMS, quindi è necessario farlo nel mio codice.

Il mio sito sta usando Twitter Bootstrap

risposta

2

è possibile verificare se il testo dell'etichetta è vuota o non .

$(function() { 
    $(".row").each(function() { 
     if ($("label", this).text() == "") { 
      $(this).hide(); 
     } 
    }); 
}); 

demo di lavoro:http://jsfiddle.net/m7nytbw4/

+0

Questo ha funzionato benissimo anche se ho deciso di rimettere la mia etichetta sul campo nel mio CMS in modo da ridurre il mio codice da una riga e cambiato "etichetta" in "div" e aggiunto sostituito = = "" con == [! RollNumber] – murday1983

0

proprietà di visualizzazione Usare CSS stile per nascondere la riga.

$("#rollNumber").css("display", "none"); 
+0

potresti darmi un esempio di questo per favore – murday1983

0

io non sono sicuro se questa è una soluzione eccessivo per il vostro problema, ma con jQuery e regex si potrebbe fare qualcosa di simile:

$('.row').each(function(){ 
    var row = $(this); 
    if(! /^[a-zA-Z0-9]+$/.test(row.find('label'))){ 
    // No alphabetical characters found 
    row.css('display','none'); 
    } 
}); 
2

Ho creato un esempio per voi http://jsfiddle.net/gon250/x8m6jLLo/

$(".row").each(function(){ 
    var $row = $(this); 
    var $childern = $row.children(); 
    if($childern.length > 1) { 
    if($childern[0].innerText === "" && $childern[1].innerText === "") { 
      $row.hide(); 
     } 
    } 
}); 

fondamentalmente quello che sto facendo è controllare tutti i bambini delle righe e se entrambi sono vuoto nascondi la riga.

Spero che sia d'aiuto!

+0

@ murday1983 dai un'occhiata all'esempio, penso che cosa stai cercando. Inoltre, fare attenzione con l'id della riga, non è possibile ripetere l'id per ogni riga. '' rollNumber'' – gon250

Problemi correlati