홈>
Qualtrics에서 30 행으로 나란히있는 질문이 있습니다. 처음 20 개의 행 각각에는 이전 질문에서 텍스트 상자에 무언가를 입력 할 때만 표시되도록 표시 논리가 있습니다. 마지막 10 개 행 각각에는 전체 질문에 10 개 이상의 행이 표시되도록 표시 논리가 있습니다. 즉, 첫 번째 20 개 중 어느 것도 표시되지 않으면 21 행이 표시되고 첫 번째 20 개 중 하나만 표시되면 22 행이 표시됩니다. ... 첫 번째 행 중 9 개가 표시되면 30 행이 표시되고, 첫 번째 행 중 10 개 이상이 표시되면 표시되지 않습니다.
질문의 첫 번째 열은 확인란이며 다음 자바 스크립트를 사용하여 마지막 10 개 행의 확인란을 숨 깁니다.
Qualtrics.SurveyEngine.addOnload(function()
{
var qid = this.questionId;
var p = $(qid);
p.down('label[for="QR~'+qid+'#1~21~1"]').hide();
p.down('label[for="QR~'+qid+'#1~22~1"]').hide();
p.down('label[for="QR~'+qid+'#1~23~1"]').hide();
p.down('label[for="QR~'+qid+'#1~24~1"]').hide();
p.down('label[for="QR~'+qid+'#1~25~1"]').hide();
p.down('label[for="QR~'+qid+'#1~26~1"]').hide();
p.down('label[for="QR~'+qid+'#1~27~1"]').hide();
p.down('label[for="QR~'+qid+'#1~28~1"]').hide();
p.down('label[for="QR~'+qid+'#1~29~1"]').hide();
p.down('label[for="QR~'+qid+'#1~30~1"]').hide();
});
이전 행이 표시되지 않으면 제대로 작동합니다 :
그러나 이전 행 중 하나라도 표시되면 폭탄 :
Inspect Element
와 함께 찌르고
미리보기에서 태그가 어떻게 변경되었는지 확인했지만 ID를 변경하는 한 예기치 않은 것을 찾을 수 없었습니다. 처음 20 개 행이 표시되지 않는 경우 23 행의 확인란 요소를 확인할 때 :
<input id="QR~QID4#1~23~1" name="QR~QID4#1~23~1" value="Selected"
data-runtime-checked="runtime.Children.1.Choices.23.Answers.1.Selected"
aria-labelledby="question1QID4 question1QID4-answer1QID4 choice23QID4"
class="QWatchTimer" type="checkbox">
<label for="QR~QID4#1~23~1" class="q-checkbox" data-runtime-class
-q-checked="runtime.Children.1.Choices.23.Answers.1.Selected"
style="display: none;"></label>
예상대로 레이블 코드가 회색으로 표시됩니다. 처음 20 개 행 중 하나가 나타나면 거의 동일하지만
style="display: none;"
끝에 나타나지 않습니다 :
<input id="QR~QID4#1~23~1" name="QR~QID4#1~23~1" value="Selected"
data-runtime-checked="runtime.Children.1.Choices.23.Answers.1.Selected"
aria-labelledby="question1QID4 question1QID4-answer1QID4 choice23QID4"
class="QWatchTimer" type="checkbox">
<label for="QR~QID4#1~23~1" class="q-checkbox" data-runtime-class
-q-checked="runtime.Children.1.Choices.23.Answers.1.Selected"></label>
디스플레이 로직 활성화가 Javascript를 방해하는 방식으로 인해 상실되었습니다.
- 답변 # 1
관련 자료
- html - 서버 측에서 게시물이 발생한 후 클라이언트 측 JavaScript를 사용하여 경고를 표시하는 방법은 무엇입니까?
- json - javascript - 이 api 데이터에서 목록을 표시하는 방법
- html - div에서 서로 아래에 자바 스크립트 목록의 모든 항목을 표시하려면 어떻게해야합니까?
- "="를 누른 후 자바 스크립트 계산기에서 디스플레이 지우기
- loops - 자바 스크립트 디스플레이 수익/손실
- reactjs - javascript - 실시간으로 변수를 어떻게 표시합니까?
- function - 따옴표가있는 Javascript 변수 표시
- 외부 자바 스크립트를 사용하여 올해 표시
- html - 다른 태그에 대한 종속성없이 JavaScript/jQuery div 태그를 표시 할 수 없습니다
- 예상했던 배열 결과 자바 스크립트를 어떻게 표시 할 수 있습니까?
- html - Javascript를 사용하여 중첩 된 JSON 데이터 표시
- HTML 버튼을 통해 JavaScript 기능을 표시하는 방법
- 자바 스크립트로 API를 가져 와서 데이터를 표시하는 방법은 무엇입니까?
- jquery - 자바 스크립트를 사용하여 HTML로 JSON 데이터를 표시하는 방법은 무엇입니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
몇 시간의 여과 후에, 디스플레이 로직이 Javascript로 아이템을 숨기면 해당 스크립트가 실행되지 않는다는 것을 기억했습니다. 한 줄씩이 아니라는 것을 알지 못했습니다. 한 줄의 코드로 제어되는 한 요소가 숨겨져 있으면 전체 코드 블록이 무효화되는 것처럼 보입니다.
표시 될 행만 동적으로 고려한 루프로 해결할 수있었습니다 :
적어도 내 경우에는count
변수를 사용하여 표시 할 마지막 10 개 행 수를 결정했습니다. 일단 루프의 매개 변수에 내장하면 디스플레이 논리에 의해 무효화되는 것은 없습니다. (관심이있는 경우 여기에서 프로세스를 확인하십시오.)레슨은 다음과 같이 배웠습니다. 루프를 사용하여 시작해야했습니다. 매개 변수 수정은 그 후의 쉬운 단계입니다.