문제

Java 스크립트를 작성해야합니다. 확인란이 페이지에서 선택되었는지 여부를 확인해야합니다. 여기서 문제는 확인란이 그리드 내부에 있고 동적으로 생성된다는 것입니다. 렌더링 해야하는 확인란의 수는 설계 시간에 알 수 없습니다. 따라서 ID는 서버 측에서만 알고 있습니다.

도움이 되었습니까?

해결책

여기에 생각이 있습니다.

익명으로 표시된대로 JavaScript를 생성 할 수 있습니다. 클라이언트 측 스크립트를 주입하는 MSDN

또한 확인란을 매개 변수로 가져 와서 기능을 호출하고 매개 변수로 전달하는 Checkbox 정의에 onclick 속성을 추가하는 JavaScript 함수를 작성하거나 생성 할 수 있습니다.

function TrackMyCheckbox(ck)
{
     //keep track of state
}

<input type="checkbox" onClick="TrackMyCheckbox(this);".... />

다른 팁

JavaScript도 생성해야합니다. 또는 적어도 JavaScript 데이터 구조 (Array)는 제어해야 할 확인란을 포함해야합니다.

또는 포함 요소를 생성하고 유형 확인란의 모든 어린이 입력 요소에 JS로 순환 할 수 있습니다.

유일한 확인란 인 경우 getElementsByTagName () 호출을 수행하여 모든 입력을 얻은 다음 적절한 유형 값 (IE Checkbox)을 찾는 반환 배열을 반복 할 수 있습니다.

질문에는 별다른 정보가 없습니다. 그러나 HTML 그리드가 서버 측에서 생성된다고 가정합니다 (JavaScript가 아님).

그런 다음 확인하려는 확인란에 클래스를 추가하십시오. 해당 클래스의 모든 확인란을 찾는 DOM을 통해 루프. ~ 안에 jQuery:

HTML :

<html>
...

<div id="grid">
   <input type="checkbox"  id="checkbox1" class="must-be-checked" />
   <input type="checkbox"  id="checkbox2" class="not-validated" />
   <input type="checkbox"  id="checkbox3" class="must-be-checked" />
   ...      
   <input type="checkbox"  id="checkboxN" class="must-be-checked" />
</div>

...
</html>

자바 스크립트 :

<script type="text/javascript">

  // This will show an alert if any checkboxes with the class 'must-be-checked'
  // are not checked.
  // Checkboxes with any other class (or no class) are ignored
  if ($('#grid .must-be-checked:not(:checked)').length > 0) {
    alert('some checkboxes not checked!');
  }

</script>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top