2012-08-30 3 views
0

내가 선택한이 자바 스크립트 기능이 테이블 TD의 각 개별 TD자바 스크립트 하이라이트 기능을 사용할 수있는 횟수를 제한하는 방법은 무엇입니까?

<script type="text/javascript"> 
    window.onload = function(){ 
    var all = document.getElementsByClassName("clicker"); 
    for (var i=0;i<all.length;i++) { 
     all[i].onclick = inputClickHandler;  
    } 
}; 

function inputClickHandler(e){ 
    e = e||window.event; 
    var tdElm = e.target||e.srcElement; 
    if(tdElm.style.backgroundColor == 'rgb(0, 153, 0)'){ 
     tdElm.style.backgroundColor = '#fff'; 
    } else { 
     tdElm.style.backgroundColor = '#009900'; 
    } 
} 
    </script> 

클릭 내가 테이블이 8 8 말하고 그들은 모두 정사각형이있을 때. 이제 테이블 위에는이 모양의 선택 메뉴가있는 양식이 있습니다. 사용자가 형성 하이라이트에서 옵션을 선택합니다, 그래서 "24"를 선택 말을하는

<form id="filter"> 
<select id="highlights" name="highlights"> 
<option value="0"> Select... </option> 
<option value="20"> 20 </option> 
<option value="24"> 24 </option> 
<option value="28"> 28 </option> 
<option value="30"> 30 </option> 
</select> 

가 기본적으로 내가 원하는 것은, 그것은 만 나 테이블의 "24"사각형을 강조 할 수 있습니다. "24"에서 "28"로 변경하면 "28"을 강조 표시하고 선택되는 것만 허용합니다. 어떻게하면됩니까?

+0

이 강조 표시된 셀의 현재 수의 값을 선택'#의 highlights'의의 비교를! – Yoshi

+0

예, 나는 If 문을 수행하고 카운터를 가졌습니다. 강조 표시 할 TD를 클릭했을 때 카운터가 카운터 +1에 해당한다고 말했고 강조 표시를 제거했을 때 카운터가 카운터 마이너스 1과 같고 카운터가 함수를 실행할 수있는 선택 값보다 작 으면 말할 수있는 If 문을 수행했으나 그렇지 않으면 couldnt하지만 작동하지 않았습니다. – Ben

+0

그 방법 중 하나입니다. 카운터를 다시 구현하는 이유는 무엇입니까? 강조 표시된 셀에는 이미 카운터가 있습니다. 따라서 현재 강조 표시된 셀 수만 계산하면됩니다. – Yoshi

답변

2

그냥 같은 것을 할 : 셀을 강조하면서

var max = 0, highlighted = 0 
document.getElementById('highlights').onchange = function() { 
    max = this.value 
} 
... 
function inputClickHandler(e){ 
    e = e||window.event; 
    var tdElm = e.target||e.srcElement; 
    if(tdElm.style.backgroundColor == 'rgb(0, 153, 0)'){ 
    highlighted-- 
    tdElm.style.backgroundColor = '#fff'; 
    } else if (highlighted != max) { 
    highlighted++ 
    tdElm.style.backgroundColor = '#009900'; 
    } 
} 
+0

어메리칸이 작동하지 않는다. – Ben

+0

http://jsfiddle.net에 데모를 게시 할 수 있습니까? – Abraham

+0

Im을 넣으려고 시도했지만 그 코드가 작동하지 않는 경우에만 – Ben

관련 문제