У меня есть этот код на стороне JavaScript:
function changeSelectionStyle(id) {
if(document.getElementById(id).className != 'yes'){
document.getElementById(id).className = 'yes';
}
else{document.getElementById(id).className = '';}
}
И это на html:
<ul>
<li id="selectedAuthorities-4_1li" class="">
<input type="checkbox" id="selectedAuthorities-4_1" name="selectedAuthorities" value="ROLE_ADD_COMMENT_TO_CV" checked="checked" onload="changeSelectionStyle(this.id + 'li');" onclick="changeSelectionStyle(this.id + 'li'); checkFatherSelection(this.id);">
<a href="#" onclick="document.getElementById('selectedAuthorities-4_1').click(); return false;"> Agregar comentario <samp><b></b>Permite agregar comentario en el detalle.</samp>
</a>
</li>
Хорошо, что я не могу получить работу, когда установлен флажок, при загрузке JS должен проверить его и назначить class="yes
"li, здесь: <li id="selectedAuthorities-4_1li" class="">
Что я должен добавить к своей исходной функции JS, чтобы сделать это возможным. Обратите внимание, что идентификаторы не являются статическими, они динамические, HTML-идентификатор li генерируется.
Процесс для решения (логика):
Событие при загрузке, проверьте, проверяется ли вход с X id, если это так, обновите родительский li с помощью функции JS changeSelectionStyle. Потому что проблема, которая у меня есть сейчас, заключается в том, что когда я выбираю вход (проверяю его), цвет li переключается, но когда он загружается с выбранным / проверенным входом, цвет остается неизменным, и его цвет меняется щелкните по входу (снимите флажок - неправильный эффект)