2017-10-23 11 views
2

javascriptクエリで出力を使用するチェックボックスがいくつかあります。我々はスポーツに関するいくつかの質問を持っており、すべての質問で人々が1つのチェックボックスをチェックすることができるので、これらの出力はクエリに送られます。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

さて、あなたはあなたのチェックボックス値与えることができます:あなたはexpression interpolationを使用することができるはず

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

:あなたが値をCONCATすることができます。その後

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> 
 

を。

$("#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文を使用することによって、ブール値を文字列に変換しました。 –