레이블이 데이터베이스에서 채워집니다. 레이블을 클릭하면 레이블이 빨간색으로 표시되고 굵게 표시되어야합니다. 다른 레이블을 클릭하면 첫 번째 레이블을 원래 상태로 되돌리고 새 레이블을 활성화해야하며 굵게 및 빨간색으로 표시해야합니다. 어떤 이유로 ChangeActiveStates()는 처음 두 라벨에 대해서만 작동합니다. 즉, 첫 번째 라벨을 클릭하면 빨간색으로 변하고 두 번째 라벨을 클릭하면 첫 번째 라벨이 검은 색으로되고 두 번째 라벨이 빨간색으로 바뀝니다. 세 번째 레이블을 클릭하면 두 번째 레이블은 빨간색으로 유지되고 세 번째 레이블은 빨간색으로 바뀝니다. 이걸 어떻게 고칠 수 있니? 여기 클릭하면 굵은 글씨로 라벨을 지정하는 방법은 무엇입니까?
코드입니다 :<html>
<span>
<input type="hidden" name="LiabFilter" id= "idLib<%=liabkey %>" value="<%=liabkey %>" />
<div>
<label for="idLib<%=liabkey%>" id="liablabel" style="cursor: hand; padding-left: 25px; font-weight: normal"
onClick ="clearLiabFilter();
document.getElementById('idLib<%=liabkey%>').checked = true;
changeActiveStates(this);">
<%=liab.getName() %>
</br>
</label>
</div>
</span>
<style type="text/css">
.activate { font-weight: bold; color:#e40000;}
.visited{ font-weight: normal; color: #000000;}
</style>
<script>
function byId(id) {
return document.getElementById ? document.getElementById(id) : document.all[id];
}
var prevLink = "";
function changeActiveStates(ele) {
if (prevLink) byId(prevLink).className = '';
ele.className = 'activate';
prevLink = ele.id;
}
</script>
</html>
정확히 가리 킵니다. 네가 몇 초 만에 나를 때리는 것 같아! :) – WhyNotHugo
그래서, 그냥 다른 함수와 스크립트 태그 jquery 추가 할 또는 새 .js 파일을 만들어야합니다. 죄송합니다. 전에 jQuery를 사용 해보지 않았습니다. –
답변을 추가했습니다. 나는 그것이 도움이되기를 바랍니다. JQuery는 매우 유용하며 이와 같은 것을 매우 쉽게 만듭니다. 당신은 확실히 그것을 체크 아웃해야합니다. – Turnip