• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

<option> value=""인 경우

23.01.26 19:41 작성 23.01.26 19:42 수정 조회수 297

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 박스는 아무 값이 선택되지 않았을 때는 첫번째 줄에 있는 값이 선택됩니다.

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

감사합니다.