jQuery 플롯을 생성하기위한 데이터를 제공하는 AJAX 호출이 있습니다. 이 AJAX 호출이 실행될 때마다 새로운 JSON 데이터가 돌아오고 플롯이 자동으로 업데이트됩니다.자바 스크립트를 사용하여 하위 요소를 제거하십시오.
JSON 데이터를 플롯하는 것 외에도 ConvertOrSave.appendChild(btn);
을 사용하여 하위 요소로 추가되는 버튼을 만드는 코드가 있습니다. 이 코드의 유일한 문제점은 AJAX 호출이있을 때마다 새로운 btn이 추가된다는 것입니다. 버튼 하나만 있으면됩니다.
새 버튼을 추가하기 전에 이전 버튼이 제거되었는지 확인하는 가장 좋은 방법은 무엇입니까? 감사.
$("#flotAverageSalePricesCity").result(function(event, data, formatted) {
if (data){
$.ajax({
url: sURL + "utility/ajaxmuniChart1c",
type: "POST",
data: {muni: data[0]},
dataType: 'json',
success: function(json){
if (data) {
myWidth = (document.getElementById('flot_widget').offsetWidth-45)+"px";
myHeight = (document.getElementById('flot_widget').offsetWidth*.66)+"px";
document.getElementById('wrapper').style.display = 'block';
document.getElementById('printflotcontainer').style.display = 'block';
document.getElementById('flotcontainer').style.width = myWidth;
document.getElementById('flotcontainer').style.height = myHeight;
var options = {
series: {
lines: { show: true, fill: false, fillColor: "rgba(255, 255, 255, 0.8)" },
points: { show: true, fill: true }
}
};
$.plot("#flotcontainer", [json], options);
myCanvas = $('#flotcontainer').find('canvas.base');
flotcontainercanvas = myCanvas.get(0);
ctx3 = flotcontainercanvas.getContext('2d');
myLocation = sURL + 'php/saveme.php';
var cs = new CanvasSaver(myLocation)
var btn = cs.generateButton('Save', flotcontainercanvas, 'PTS_Chart');
ConvertOrSave.appendChild(btn);
}
}
})
}
})
편집 : convertAndSave가 만에 하나 개 다른 요소를 가지고 있기 때문에
<div id="ConvertOrSave" class="g2">
<button id="convert">convert</button>
</div>
'btn'의 클래스 이름은 무엇입니까? –
success 콜백에서 버튼 추가를 제거하고 다른 위치에 넣을 수 있습니까 (onload와 같은)? –
@JayHarris'btn'에 대한 클래스 이름이 없습니다. 여기에 표시된 코드로만 생성됩니다. – DanielAttard