Pergunta

I want to hide a list column in editform.aspx

</script>
<script language="JavaScript">
$(document).ready(function() 
{ $('nobr:contains("columnname")').closest('tr').hide()  });
</script>

It works. But now I want to hide it, if there is no value. How to do this?

Foi útil?

Solução

$(document).ready(function() 
{ if ($('nobr:contains("columnname")').val() == "")
  {
    $('nobr:contains("columnname")').closest('tr').hide()
  }  
});

Outras dicas

<script language="JavaScript">
$(document).ready(
  function() 
  {  
   // Creating an object to reduce JQuery selector to get the same element again
   // which reduces a considerable lines of code being interpreted from JQuery lib
   // which is expensive operation than having a reference object in hand.
   var myElement = $('nobr:contains("columnname")'); 

   // since they typeof(myElement.val().length) is number, 
   // you can use === conditional operator.
   // '===' is faster. The reason being, that it only needs to compare the type,
   // and if that matches, compare the raw data.
   // The == operator will try to convert one type to another if they don't match.
   // This will be a more expensive operation in most cases.
   if(myElement.val().length === 0)  //or if(myElement.val() === "")
   {
    myElement.closest('tr').hide();
   }
  }
);
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top