我们有一些复选框,我们希望在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 :(得分:0)
你可以给你的复选框一个值:
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;
之后你可以连接值:
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>