Javascript JQuery添加复选框不工作
我目前正在试验GoogleChartAPI和jquery。到目前为止,我对GoogleChartAPI没有任何问题,但是我无法让jquery工作。我想做的是循环我得到的json对象,并根据我从json中得到的内容添加复选框Javascript JQuery添加复选框不工作,javascript,jquery,google-visualization,Javascript,Jquery,Google Visualization,我目前正在试验GoogleChartAPI和jquery。到目前为止,我对GoogleChartAPI没有任何问题,但是我无法让jquery工作。我想做的是循环我得到的json对象,并根据我从json中得到的内容添加复选框 <html> <head> <title>Test</title> <!-- Load jQuery --> <script src="//ajax.googleapis.com/ajax/libs/jquer
<html>
<head>
<title>Test</title>
<!-- Load jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<!-- Load Google JSAPI -->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
addSensorCheckboxes();
function drawChart() {
var jsonData = $.ajax({
dataType: "json",
url: "getValues.php",
data: window.location.href.slice(window.location.href.indexOf('?') + 1),
async: false
}).responseText;
var obj = jQuery.parseJSON(jsonData);
var data = google.visualization.arrayToDataTable(obj);
var options = {
title: ''
};
var chart = new google.visualization.LineChart(
document.getElementById('chart_div'));
chart.draw(data, options);
}
function addSensorCheckboxes() {
var jsonData = $.ajax({
dataType: "json",
url: "getSensors.php",
async: false
}).responseText;
var obj = jQuery.parseJSON(jsonData);
for (i in obj)
{
var checkbox = '<input type="checkbox" name="sensors[]" value="'+obj[i][0]+'" />'+obj[i][1];
//alert(checkbox);
$("#test").append(checkbox);
}
}
</script>
</head>
<body>
<form id="theForm" name="theForm" action="index.php" method="get">
<span id="test"></span>
<input id="submit" type="submit" value="Submit" /><br>
</form>
<div id="chart_div" style="width: 100%; height: 100%;">
</div>
</body>
</html>
试验
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
添加传感器复选框();
函数绘图图(){
var jsonData=$.ajax({
数据类型:“json”,
url:“getValues.php”,
数据:window.location.href.slice(window.location.href.indexOf(“?”)+1),
异步:false
}).responseText;
var obj=jQuery.parseJSON(jsonData);
var data=google.visualization.arrayToDataTable(obj);
变量选项={
标题:“”
};
var chart=新的google.visualization.LineChart(
document.getElementById('chart_div');
图表绘制(数据、选项);
}
函数addSensor复选框(){
var jsonData=$.ajax({
数据类型:“json”,
url:“getSensors.php”,
异步:false
}).responseText;
var obj=jQuery.parseJSON(jsonData);
用于(obj中的i)
{
var复选框=''+obj[i][1];
//警告(复选框);
$(“#测试”)。附加(复选框);
}
}
我犯了什么具体的错误
提前感谢,,
致意
发芽机
var checkbox = $('<input type="checkbox" name="sensors[]"
value="'+obj[i][0]+'" />'+obj[i][1]);
var checkbox=$(''+obj[i][1]);
有很多可能性。确保调用了AddSensorCheckBox(),并填充了obj。console.log()是确定应用程序失败位置的最简单方法
也要修复for in循环….for(obj中的var i)
否则“i”将是全局的
确保var checkbox是DOM元素、HTML字符串或jQuery对象(根据jQuery文档)控制台上有什么错误?obj[i][0]的值是多少?使用$(document).ready(addSensorCheckbox)解决它;在我第一次想调用函数的线路上,仍然不起作用。对象被正确填充,我通过警告我创建的字符串进行检查,它说
Test
哪个应该工作。。不是吗?