2014-07-17 2 views
0

나는 dateslider (jQDateRangeSlider), 6 개의 드롭 다운 및 trendgraph (highcharts.js 사용)로 구성된 시각화를 구현 중입니다. 따라서 총 7 개의 필터 (6 개의 드롭 다운 + dateslider)가 있습니다. 데이터 세트가 변경되고 차트가 동적으로 변경됩니다.자바 스크립트 데이터로드 문제

그러나 데이터가없는 많은 조합 (선택 항목)이 있습니다. 이 경우 차트 대신 모든 필터 (dateslider + dropdowns)를 표시하고 싶습니다. 데이터 대신 "데이터 없음"또는 데이터 대신 텍스트를 표시하고 싶습니다. 또는 가능한 경우 차트를 표시 할 수도 있습니다 와 값-0 전체 범위 (이 경우에도 범위에서 어떤 데이터 세트가 없기 때문에 정의되지 않은, 그래서 전체 범위를 기본 취할 수 있지만) 처음 아이디어를

를, 내가하려고했던 :

function printpgtyp(data) 
{ 
    console.log(data); 
    if (data.length > 0) 
    { 
     dataset = data; 
     p(dataset); 
    } 
    else 
    { q(); } 

} 

function q() 
{ 
    document.write(" Unavailable data "); 
} 

function p(data) 
{ 
    //All my visualization code 
} 

그럼,이 작동하지만 다른 페이지로 이동하고 텍스트를 보여, 나는 이것을 원하지 않아.

는 나는 사용자가 데이터를 가지고 시각화

를 계속하는 선택을 선택할 수 있도록, 내 모든 필터를 볼 수 있으며,이 선택은 데이터가없는 말을 문자 메시지를 렌더링하고 싶은

는 방식이 있습니까 이 작업을 수행?

모든 제안 사항을 높이 평가할 것입니다. 대신 document.write

+0

'document.write'는 새로운 페이지로가는 시뮬레이션 일 수있는 화면을 지 웁니다. – Fallenreaper

답변

1

, div 요소에 텍스트를 추가 :

function q() 
{ 
    var div = document.getElementById("elementId"); 
    div.innerHTML = "this selection has no data"; 
} 
+0

위대한 작품이, 내 하이 차트의 div 요소를 새 텍스트로 바꾸고 작동합니다. 또한,이 텍스트를 편집하여 중앙에 배치하고 div 요소가 아닌 q() 안의 글꼴 등을 수정하는 방법을 말해 줄 수 있습니까? (내 주요 하이 차트 div이기도합니다) –

+0

감사합니다. Florian, 끝났습니다! –

+0

다행, 도울 수있었습니다. q-method에 클래스를 추가하고 CSS 파일에서 스타일을 지정하는 것이 좋습니다. ;) –

0

당신이 Highcharts에 대한 noData 플러그인을 본 적이 있나요? 데이터 세트가 비어있는 경우 series.setData([])으로 전화하면 이전 포인트가 삭제됩니다.