저는 html로 아코디언을 가지고 있는데, 헤더 onclick은 initTable 함수를 호출합니다.jquery 콜백에 문제가 있습니다.
<script type="text/javascript">
$(document).ready(function()
{
$('.accordion ul li h1').click(function()
{
document.getElementById('processing').innerHTML = "Processing...";
document.body.style.cursor = 'Wait';
$(this).parent().parent().find('.ac:visible').slideToggle().parent().removeClass('active');
if ($(this).next().is(':hidden'))
{
$(this).next().slideToggle().parent().addClass('active');
}
});
});
</script>
</head>
<body>
<div id=processing></div>
<div class="wrapper">
<div class="accordion">
<ul>
<li>
<h1 onclick=initTable("Anticoag")>Anticoag</h1>
<div class="ac">
<div id="AnticoagTable" width="100%">Loading...</div>
</div>
</li>
initTable은 데이터를 가져 오기 위해 서버에 도달하여 몇 초가 걸리는 DataTable을 생성합니다.
내가 뭘 하려는지 내 div id = 'processing'을 "Processing ..."으로 설정합니다. initTable 호출이 발생하기 전에.
는 지금 무슨 일이 일어나고 있는지 테이블 데이터가 돌아올 것이 THEN 표시 기다리고 있다는 것입니다 "처리를 ..."나는이 코드를 사용하여,의 onclick = TEST1 (카테고리)에 내 H1을 변경 시도
. 하지만 어떤 이유로 initTable 함수가 호출되지 않습니다. 구문인지 또는 완전히 잘못 사용하고 있는지 모릅니다.
function test1(category)
{
test2(category, function()
{
initTable(category);
});
}
function test2(category)
{
alert("test2");
document.getElementById('processing').innerHTML = "Processing...";
document.body.style.cursor = 'Wait';
}
initTable 요청에 의해 기능을 추가 기능 initTable (카테고리) { 경우 (gsCategory === '') = gsCategory 카테고리; else if (gsCategory == category) gbToggle =! gbToggle; else gbToggle = false;
gsCategory = category;
if (gbToggle === false) {
gsCategory = category;
var select = document.forms[0].selFacility;
var facility = select.options[select.selectedIndex].value;
var patJson = getJson(facility, category);
document.getElementById('processing').innerHTML = "Done...";
document.body.style.cursor = 'Default';
var anOpen = [];
var sImageUrl = "../images/";
makeTable(category);
var oTable = $('#' + category).dataTable({
"bProcessing": false,
"bDestroy": true,
"aaData": patJson,
"bAutoWidth": false,
"aoColumns": [{
"mDataProp": null,
"sClass": "control center",
"sDefaultContent": '<img src="' + sImageUrl + 'details_open.png' + '">',
"sWidth": "5%"
}, {
"mDataProp": "S_PAT_NAME",
"sWidth": "30%"
}, {
"mDataProp": "S_AGE",
"sWidth": "15%"
}, {
"mDataProp": "S_FIN",
"sWidth": "30%"
}, {
"mDataProp": "S_ROOM_BED",
"sWidth": "20%"
}]
});
$('#' + category + ' td.control').live('click', function() {
var nTr = this.parentNode;
var i = $.inArray(nTr, anOpen);
if (i === -1) {
$('img', this).attr('src', sImageUrl + "details_close.png");
var nDetailsRow = oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details');
$('div.innerDetails', nDetailsRow).slideDown();
anOpen.push(nTr);
} else {
$('img', this).attr('src', sImageUrl + "details_open.png");
$('div.innerDetails', $(nTr).next()[0]).slideUp(function() {
oTable.fnClose(nTr);
anOpen.splice(i, 1);
});
}
});
} //gbToggle = false
}
'initTable' 함수는 어떻게 생겼습니까? – YoannM