2017-10-23 1 views
2

자바 스크립트 쿼리에서 출력을 사용하려는 몇 가지 체크 박스가 있습니다. 우리는 스포츠에 대해 몇 가지 질문을하고 사람들이 하나의 체크 박스를 체크 할 수있는 모든 질문에 대해 이러한 결과가 쿼리에 전송되도록합니다.javascript 쿼리의 체크 박스 출력

<script> 
    var Q = new sgvizler.Query(); 

    Q.query("SELECT ?sport WHERE { 
     ?sport o:IndividualOrTeam o:Team . 
    }  

     .endpointURL("http://localhost/query") 

     .endpointOutputFormat("json")      

     .chartFunction("google.visualization.Table")  
     .draw("myElementID");        
</script> 

지금, 우리가 원하는 것을 우리가 입력으로 우리의 쿼리, 변수 체크 박스의 출력을 사용할 수 있다는 것입니다 : 우리가 지금까지 가지고있는 쿼리는 다음과 같다. 우리는 이미 확인란이 선택되어 있는지 여부를 확인하는 코드를 사용

Q.query("SELECT ?sport WHERE { ?sport o:IndividualOrTeam o:[CheckboxOutput1] . 

: 모든 체크 박스에 대한

document.getElementById('team').checked; 

, 우리는 위를 한 다음이 될 것입니다. var 쿼리를 만들 수 있지만이 쿼리에 변수를 가져올 수있는 방법을 알지 못합니다. 누군가가 도울 수 있기를 바랍니다.

답변

0

그럼 당신은 당신의 체크 박스에 값을 제공 할 수 있습니다 : 그 후

var teamValue; 
 
var team = document.getElementById('team'); 
 
if (team.checked) 
 
{ 
 
    teamValue = team.value; 
 
} 
 
else 
 
{ 
 
    teamValue = "individual"; 
 
} 
 

 
console.log(teamValue)
<div> 
 
    <input id="team" type="checkbox" value="team" checked />team 
 
</div> 
 

당신이 값을 CONCAT 수 있습니다

sport o:IndividualOrTeam o:"+teamValue+" 
0

당신은 expression interpolation을 사용할 수 있어야합니다.

$("#test").click(function() { 
 
    var Q = new sgvizler.Query(); 
 

 
    Q.query(`SELECT ?sport WHERE { ?sport o:IndividualOrTeam o:${document.getElementById('team').checked ? 'team' : 'individual'} }`); 
 

 
    alert(Q.query()); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.js"></script> 
 
<script src="https://mgskjaeveland.github.io/sgvizler/v/0.6/sgvizler.js"></script> 
 

 
<input type="checkbox" id="team" /> 
 

 
<button id="test">Try Me</button>

+0

감사합니다! 거의 작동합니다. 그러나 우리는 어떻게 가치를 바꿀 수 있습니까? 예를 들어 팀 또는 개인과 같이 진실 또는 거짓을 나타내지는 않습니까? 입력 유형 체크 박스 부분에 값을 추가하려고 시도했지만 여전히 true/false를 표시합니다. –

+0

게시물을 편집했습니다. 인라인 if 문을 사용하여 부울 값을 문자열로 변환했습니다. –

관련 문제