2010-01-10 5 views
5

Jeśli mam wyboru jak to w moim jsp: <form:checkbox path="agreeToLegalAgreements" />Dlaczego Spring MVC dołącza "1" do ścieżki do generowania identyfikatora formularza: checkbox?

Skutkuje: <input id="agreeToLegalAgreements1" name="agreeToLegalAgreements" type="checkbox" value="true"/><input type="hidden" name="_agreeToLegalAgreements" value="on"/>

Dlaczego jest "1" jest dołączany do id? Pytam o to, bo muszę na sztywno „1”, jeśli chcę, aby wybrać tę opcję przy użyciu javascript: document.getElementById('agreeToLegalAgreements1').checked=true;

Odpowiedz

7

Jest to konieczne, ponieważ może trzeba powiązać wiele pól wyboru, aby tym samym polu i każdy będzie musiał mieć unikalny identyfikator.

Na przykład, jeśli obiekt forma ma listę interesów

Programming: <form:checkbox path="interests" value="Programming"/> 
Painting: <form:checkbox path="interests" value="Painting"/> 
Fishing: <form:checkbox path="interests" value="Fishing"/> 

wyjście będzie:

Programming: <input id="interests1" name="interests" type="checkbox" value="Programming"/> 
Painting: <input id="interests2" name="interests" type="checkbox" value="Painting"/> 
Fishing: <input id="interests3" name="interests" type="checkbox" value="Fishing"/> 

(I pominięto ukryte wejście pustą wartość)

5

Donal jest poprawny, ale nadal możesz ustawić identyfikator w polu wyboru, jeśli chcesz.

<label> 
    <form:checkbox id="searchInSubject" path="searchInSubject"/>Subject 
</label> 

Następnie możesz używać javascript w sposób, jakiego oczekujesz.

if($('#searchInSubject').prop("checked")) { 
    alert('checked'); 
} 
+0

To wystarczyło. Dzięki! –

Powiązane problemy