작성
·
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 박스는 아무 값이 선택되지 않았을 때는 첫번째 줄에 있는 값이 선택됩니다.
그리고 "" 이것은 값이 없다는 뜻으로 이해하시면 됩니다.
감사합니다.