javascript查询中的复选框输出

时间:2017-10-23 14:27:27

标签: javascript checkbox sparql sgvizler

我们有一些复选框,我们希望在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查询,但不知道如何将变量放入此查询中。我希望有人可以帮忙!

2 个答案:

答案 0 :(得分:0)

你可以给你的复选框一个值:

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

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

之后你可以连接值:

sport o:IndividualOrTeam o:"+teamValue+" 

答案 1 :(得分: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>