如何在javascript中通过单击更改div?
当我单击a.jsp中的一项时,b.js会调用c.js的getGrid()函数来显示另一个表 它很好地显示了我在控制台中单击的内容的数据。但是表格grid-table-1没有改变 我想要的是,当我单击另一项时,我想再次调用getGrid以显示数据 但在我的代码中,只有第一次单击才有效 有什么问题?谢谢如何在javascript中通过单击更改div?,javascript,jquery,Javascript,Jquery,当我单击a.jsp中的一项时,b.js会调用c.js的getGrid()函数来显示另一个表 它很好地显示了我在控制台中单击的内容的数据。但是表格grid-table-1没有改变 我想要的是,当我单击另一项时,我想再次调用getGrid以显示数据 但在我的代码中,只有第一次单击才有效 有什么问题?谢谢 itemClick: function(data){ getGrid(data.data.ITM_ID); con
itemClick: function(data){
getGrid(data.data.ITM_ID);
console.log(data.data.ITM_ID);
}
a、 jsp
등락율 순위
b、 js
函数调用月份(num){
$.ajax({
网址:'http://www.crimestats.or.kr/openapi/Sttsapitbldata.do?KEY=373f2cc31cd449c992cc18004780f4e4&STATBL_ID=T184223019918177&DTACYCLE_CD=YY&WRTTIME_IDTFR_ID=2016&Type=json&CLS_ID=“+num,
键入:“GET”,
数据类型:“json”,
成功:功能(resp){
$(“.chart01”).html(“”);
控制台日志(resp);
变量选项={
数据:{
数据:[]
},
格式:{
xAxis:函数(_str){
返回子序列(0,4);
},
yAxis:“priceDataFormat”
},
func:{
提示:函数(TIPELENT、data、rect){
//console.log(数据)
var date=data.xaxis.substr(0,4);
var tip=''+日期+'/''+字符串(data.yaxis.format().trim()+'';
html(tip.show();
var-arrow='';
html(tipElement.html()+箭头).css({
左侧:rect.x-(tipElement.width()/2),顶部:rect.y-35
});
},
itemClick:函数(数据){
getGrid(data.data.ITM_ID);
console.log(data.data.ITM_ID);
}
},
使用:{
动画:对,
横线:对
}
};
var rows=resp.Sttsapitbldata[1]。行;
如果(行){
var代表性;
对于(i=1;i<13;i++){
representativeRow=行[i];
itemNm2=代表性低ITM_NM;
dataV=代表性加权平均值;
itm_id=代表性的低itm_id;
/*console.log(itemNm2);
console.log(dataV);
控制台日志(itm_id)*/
options.data.data.push({DTA_VAL:dataV,ITM_NM:itemNm2,ITM_ID:ITM_ID});
}
变量系列={
“主要”:{
“s1”:{序列:'列',xaxis:'ITM_NM',yaxis:'DTA_VAL'}
}
};
event.stopPropagation();
var chart=webponent.chart.init($('.chart01'),选项,样式,系列);
}
},/*错误:函数(xhr、状态、错误){
警报(“错误”)
}*/
});
}
c、 js
函数getGrid(itm_id_num){
$(“.grid-table-1”).html(“”);
变量表1=$(“#网格表1”);
var template1=$(“#grid-template-1”);
var grid1=webponent.grid.init(表1,template1);
变量体=[];
$.ajax({
数据类型:“json”,
网址:'http://www.crimestats.or.kr/openapi/Sttsapitbldata.do?KEY=373f2cc31cd449c992cc18004780f4e4&STATBL_ID=T184223019918177&DTACYCLE_CD=YY&WRTTIME_IDTFR_ID=2016&Type=json&ITM_ID=“+itm_id_num,
成功:功能(resp){
变量选项={
数据:{
数据:[]
}
};
var rows=resp.Sttsapitbldata[1]。行;
//console.log(行);
如果(行){
var代表性;
对于(i=11;i<100;i++){
representativeRow=行[i];
itemNm2=代表性低ITM_NM;
dataV=代表性加权平均值;
stable_id=representativeRow.STATBL_id;
cls_nm=代表性低cls_nm;
cls_id=representativeRow.cls_id;
/*console.log(itemNm2);
console.log(dataV)*/
options.data.data.push({
ITM_NM:itemNm2,
STATBL_ID:稳定的_ID,
CLS_NM:CLS_NM,
CLS_ID:CLS_ID,
数据电视
});
}
grid1.appendRow(options.data.data);
}
}
});
}
在哪里以及如何调用itemClick?@johnSmith我正在使用webponent。因此,当单击发生时,它会在第二次调用itemClick Automatically,并且console.log不会记录?你有控制台错误吗?第一次点击真的像预期的那样有效吗?@johnSmith每次点击都会显示log well!但只有第一次单击调用getGrid()。。
<nav>
<ul>
<li><a class="tri" href="javascript:void(0);" onclick="callMonth(50035);callSubtitle('살인'); this.onclick=null">살인</a></li>
<li><a href="main.jsp"><img src="css/f4f0edb08c97567ce6b0475a63bf7000.png" alt="Italian Trulli" width="40px" height="25px"></img></a></li>
<li><a href="javascript:void(0);" onclick="callMonth(50035); callSubtitle('살인');">살인</a></li>
</ul>
</nav>
<div class="wrap">
<h3>등락율 순위</h3>
<table id="grid-table-1">
</table>
</div>
function callMonth(num) {
$.ajax({
url : 'http://www.crimestats.or.kr/openapi/Sttsapitbldata.do?KEY=373f2cc31cd449c992cc18004780f4e4&STATBL_ID=T184223019918177&DTACYCLE_CD=YY&WRTTIME_IDTFR_ID=2016&Type=json&CLS_ID='+num,
type : 'GET',
dataType: 'json',
success : function (resp) {
$(".chart01").html("");
console.log(resp);
var options = {
data : {
data: []
},
format: {
xAxis: function (_str) {
return _str.substr(0, 4);
},
yAxis: 'priceDataFormat'
},
func : {
tip: function (tipElement, data, rect) {
//console.log(data)
var date = data.xaxis.substr(0, 4);
var tip = '<div class="text">' + date + ' / ' + String(data.yaxis).format().trim() + '</div>';
tipElement.html(tip).show();
var arrow = '<div class="arrow" style="width: ' + tipElement.width() + 'px;"></div>';
tipElement.html(tipElement.html() + arrow).css({
left: rect.x - (tipElement.width() / 2), top: rect.y - 35
});
},
itemClick: function(data){
getGrid(data.data.ITM_ID);
console.log(data.data.ITM_ID);
}
},
use : {
animate : true,
aCrossLine: true
}
};
var rows = resp.Sttsapitbldata[1].row;
if (rows) {
var representativeRow;
for (i = 1; i < 13; i++) {
representativeRow = rows[i];
itemNm2 = representativeRow.ITM_NM;
dataV = representativeRow.DTA_VAL;
itm_id= representativeRow.ITM_ID;
/* console.log(itemNm2);
console.log(dataV);
console.log(itm_id);*/
options.data.data.push({DTA_VAL: dataV, ITM_NM: itemNm2, ITM_ID:itm_id});
}
var series = {
"main": {
"s1": {series: 'column', xaxis: 'ITM_NM', yaxis: 'DTA_VAL'}
}
};
event.stopPropagation();
var chart = webponent.chart.init($('.chart01'), options, styles, series);
}
}, /*error: function (xhr, status, error) {
alert("err")
}*/
});
function getGrid(itm_id_num) {
$(".grid-table-1").html("");
var table1 = $('#grid-table-1');
var template1 = $('#grid-template-1');
var grid1 = webponent.grid.init(table1, template1);
var body = [];
$.ajax({
dataType: 'json',
url : 'http://www.crimestats.or.kr/openapi/Sttsapitbldata.do?KEY=373f2cc31cd449c992cc18004780f4e4&STATBL_ID=T184223019918177&DTACYCLE_CD=YY&WRTTIME_IDTFR_ID=2016&Type=json&ITM_ID='+itm_id_num,
success : function (resp) {
var options = {
data: {
data: []
}
};
var rows = resp.Sttsapitbldata[1].row;
//console.log(rows);
if (rows) {
var representativeRow;
for (i = 11; i < 100; i++) {
representativeRow = rows[i];
itemNm2 = representativeRow.ITM_NM;
dataV = representativeRow.DTA_VAL;
stable_id = representativeRow.STATBL_ID;
cls_nm = representativeRow.CLS_NM;
cls_id = representativeRow.CLS_ID;
/* console.log(itemNm2);
console.log(dataV);*/
options.data.data.push({
ITM_NM : itemNm2,
STATBL_ID: stable_id,
CLS_NM : cls_nm,
CLS_ID : cls_id,
DTA_VAL : dataV
});
}
grid1.appendRow(options.data.data);
}
}
});
}