옵션에 아무것도 기입하지 않을 경우 상위 div를 display none하고 싶습니다.

안녕하세요?

이 문제로 거의 3시간넘게 붙잡고 있는데 여전히 해결이 안되서 이곳에 질문을 남겨드립니다.

 

게시판 옵션에 '학과명'이라고 하는 텍스트/숨김 옵션이 하나 있는데

만약에 아무것도 입력하지 않았을 경우, 이 폼의 상단 div를 display : none 하고싶습니다.

jquery나 php의 if 문을 통해 .length == 0과 같은 방법으로 시도해보았으나, 내용이 있음에도 true를 내놓는 등 문제가 많습니다.

도움을 부탁드리겠습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    학과명은 KBoard 입력 필드를 말씀하시는 건지요?

    상단의 div는 어느 부분을 말씀하시는 건지 이해가 잘 가지 않습니다.

    좀 더 구체적으로 설명해주시겠어요?

    이미지 첨부가 가능하시다면

    imgur에 업로드한 뒤 링크 걸어주세요.

    고맙습니다.

  • 안녕하세요 질문자입니다.

    그림을 첨부했는데 제대로 나오지 않네요. 간단하게나마 예를 들어 코드를 설명드리자면
    게시판 하나를 새롭게 만들었고, 게시판의 입력 필드중에서

    '확장 필드' -> '텍스트/숨김' 을 하나 추가 했습니다.

    그리고 추가된 '텍스트/숨김'의 '필드 레이블'을 '학과명'이라고 했습니다.

    이런식으로 '텍스트/숨김' 필드를 '학과명', '학생이름', '학생 전공', '작품명' 총 4개를 만들었습니다.

    그리고

    <div class="profile">
    '학과명'
    '학생이름'
    '학생 전공'
    '작품명'
    </div>

    이렇게 필드를 div로 감싸고 class를 profile이라고 했습니다.

    여기서 만약 게시물을 올릴 때, '학과명' 필드옵션에 아무것도 작성하지 않은 채 게시물을 올렸을 때,
    class profile의 div 자체를 display=none 으로 하고싶다는 뜻이었습니다.

    혹시 그래도 이해못하셨으면 전화나 다른 방법으로 따로 말씀을 드려야 할 것 같습니다.

  • 안녕하세요.

    게시글 작성 시 학과명 필드에 내용을 입력하지 않으면

    게시글 본문 페이지에서 추가하신 <div> 태그를 안 보이게 하고 싶다는 말씀이신지요?

    해당 <div> 태그는 어떻게 추가하셨는지요?

    document.php 파일을 직접 수정하시거나 별도의 필터를 활용하신 건지요?

    적용하신 방법에 따라 코드가 다릅니다.

    <div class="profile"> 코드를 어떻게 추가하셨는지 알려주시겠어요?

    고맙습니다.

  • 안녕하세요 질문자입니다.
    네 맞습니다. 말씀하신 document.php에서 직접 div를 추가했습니다.
    다른 별도의 필터를 사용했다거나 그렇지는 않습니다.
  • 안녕하세요 질문자입니다.
    설명을 돕기위해 document.php 에 제가 만든 profile 구조 html 코드를 보내드립니다.

    =================================================

                <div id="first_box" class="profile_box">
                    <div class="profile_textarea">
                        <table>
                            <tbody>
                                <tr>
                                    <td rowspan="3">
                                        <div class="profile_img">
                                        <img src="<?php echo $content->attach->file1[0]; ?>" alt="<?php echo $content->attach->file1[1]; ?>">
                                        </div>
                                    </td>
                                    <td valign="top">
                                        <p class="profile_bold">
                                            

                                            <?php echo $content->option->{'first_name'}?>

                                            

                                        </p>
                                        <p>
                                            <?php echo $content->option->{'first_location'}?>
                                        </p>
                                    </td>
                                </tr>
                                <tr>
                                    <td valign="middle">
                                        <p class="profile_bold">Contribution</p>
                                        <p>
                                            <?php echo $content->option->{'first_department'}?>
                                        </p>
                                    </td>
                                </tr>
                                <tr>
                                    
                                    <td valign="bottom">
                                        <p class="profile_bold">Contact</p>
                                        <p>
                                            <?php echo $content->option->{'first_email'}?>
                                        </p>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>

    =================================================

    <?php echo $content->option->{'first_name'}?>

    이 부분의 폼에 아무것도 입력하지 않고 게시글을 올리면, 아예 이 구조의 최 상단 div 인

    <div id="first_box" class="profile_box">

    를 아예 display: none; 하게 하고싶습니다.

  • 안녕하세요.

    입력 필드의 메타키가 first_name이라면

    아래의 코드를 활용하시면 first_name 필드의 값이 있을 때만 특정 태그를 표시할 수 있습니다.

    <?php if($content->option->first_name):?>
    <div id="first_box" class="profile_box">
    ...
    </div>
    <?php endif?>

     

    아래의 코드를 활용하시면 직접 스타일을 추가하여 display none 속성을 추가할 수 있습니다.

    <div id="first_box" class="profile_box"<?php if(!$content->option->first_name):?> style="display: none;"<?php endif?>>
    ...
    </div>

    고맙습니다.

  • 적용 잘 되었습니다. 신경써주심에 감사드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요