2017-12-27 2 views
0

JQuery를 사용하여 채워지는 DataTable의 기본 열을 표시해야합니다. json 데이터가 initiallyHidden으로 평가되면 할당 된 json 데이터가있는 열을 숨겨야한다는 조건이 있습니다. 나는 다음과 같은 일을 시도했지만 작동하지 않았다Freemarker 조건을 사용하여 초기로드 중 열을 숨길 수 없음

<#list caseMgrConfiguration.columns as column> 
    <#if column?counter <= 11> 
     { 
     data: "${column.label}", 
     <#if column.Userselectable?? && column.Userselectable.intiallyHidden??> 
       style="display:none"          
     </#if> 

     render: function (data, type, row) { 
     return "<a href='/platform/${registry}/facility${facilityId}/case-report-form?patient_id=" + row.patientId + "&record_id=" + row.recordId + "'>" + data + "</a>"; 
     } 
     }, 
    </#if> 

내가 정확히 원하는 것은 casemgr.json 파일에서 오는 JSON 값 initiallyHidden에 따라 CSS를 표시하거나 숨길 수 있습니다. 오류가 발생하지는 않지만 열은 숨겨지지 않습니다. 어떻게하면 나를 안내해 줄 수 있습니까? foo 그것이 true 또는 false이다 (비 null), 그렇지 않으면 존재하는 경우

+0

'a' 태그를 숨기시겠습니까? – user7294900

+0

예, 이상적으로 열 헤더와 함께 그 데이터도 숨겨져 있어야합니다. 그렇습니다. 하지만 난 단지 열 머리글에 대한 if 태그를 넣었습니다. –

답변

0

문제는 foo?? 시험이다. 따라서 foofalse 인 경우에도 foo??true이됩니다. 변수 (foo)가 누락되었다고 믿을만한 이유가 있다면 (그렇지 않으면 부울 값), 치료하고자하는 경우 false 일 경우 foo!false을 작성하십시오. 항상 존재한다는 것을 알고 있다면 foo (<#if foo>에서와 같이)을 추가로 쓸 필요가 없습니다.

+0

안녕 ddekany, 솔루션 주셔서 감사합니다. 또한 style = "display : none"이 맞고 작동하는 경우 아래 줄을 알고 싶었습니까? –

+0

나는 그렇게 생각하지 않는다. 그것은 HTML 조각처럼 보이지만, 그 주위에는 태그가 없다. (물론, FreeMarker는 그것에 대해 신경 쓰지 않고, 인쇄하기 위해 말하는대로 인쇄합니다.) – ddekany

관련 문제