드롭 다운 메뉴의 옵션을 변경하면 모든 체크 박스를 선택 해제해야합니다. 다음은 드롭 다운 메뉴가 변경 될 때 호출되는 함수 안에 넣은 코드입니다.dat.gui의 체크 박스를 선택 취소하십시오.
var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++) {
if(inputs[i].type == "checkbox") {
inputs[i].checked = false;
}
}
실제로이 확인란의 선택을 취소합니다. 그러나 체크 박스를 다시 확인하려면 두 번의 클릭이 필요합니다. dat.gui는 여전히 체크 박스가 체크 된 것으로 생각하므로, 체크하지 않으려면 한 번 클릭하고 체크하려면 한 번 클릭하십시오.
dat.gui를 체크 박스로 업데이트하려면 어떻게해야합니까?
편집 : 여기에 문제의 현재 상태가 있습니다.
gui = new dat.GUI;
controllers = [];
var menu = {
'This is an example': false,
}
controllers[0] = gui.add(menu, 'This is an example').onFinishChange(
function(value) {console.log('example');}).listen();
menu['This is an example'] = false;
이 코드를 사용하면 .listen() 호출 및 변수를 false로 설정하기 때문에이 확인란의 선택이 취소됩니다. 그러나 체크가 표시 되려면 두 번 클릭해야합니다. 하나는 체크 박스를 선택 취소하고 다른 하나는 체크합니다. dat.gui을 말함으로써 바인딩
최소한의 예를들 수 있습니까? 표시 한 코드는 문제에 대한 통찰력을 제공하지 않습니다. – user1596138
나는 변화를 경청해야한다고 생각한다. 이 답변을보십시오 : http://stackoverflow.com/a/16174621/934652 –
@ Jhawins, 나는 gui 및 하나의 확인란의 예제를 추가했습니다. 당신이 볼 필요가있는 부분이 있다면 알려주십시오. – user3448821