인프런 커뮤니티 질문&답변

도토리님의 프로필 이미지
도토리

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

셀렉트 박스

<option> value=""인 경우

작성

·

416

·

수정됨

0

item.html의 일부 코드입니다.

<select th:field="${item.deliveryCode}">
    <option value="">==배송 방식 선택==</option>
    <option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code}"></option>
</select>

select에서 아무 것도 선택하지 않아서 '==배송 방식 선택=='이 선택된 경우, 'deliveryCode='로 서버에 전달됩니다. 그리고 Item 객체의 deliveryCode필드에 ""로 저장됩니다.
이때, 소스코드 보기를 하면,
'<option value="">==배송 방식 선택==</option>'
으로 나옵니다. selected="selected" 속성이 없는 것입니다.

th:field, th:value의 값이 같을 때, selected="selected"라는 속성을 추가해줍니다.
두 값이 ""로 같은데도 selected 속성이 추가되지 않은 이유가 무엇일까요?

th:value가 아닌 그냥 value이기 때문인가 싶어서 value="" -> th:value="${''}"로 작성해보았는데,
여전히 소스코드 보기를 하면
'<option value="">==배송 방식 선택==</option>'으로, selected 속성 없이 출력됩니다.


답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 도토리님

select 박스는 아무 값이 선택되지 않았을 때는 첫번째 줄에 있는 값이 선택됩니다.

그리고 "" 이것은 값이 없다는 뜻으로 이해하시면 됩니다.

감사합니다.

도토리님의 프로필 이미지
도토리

작성한 질문수

질문하기