tooltipValueLookups 매개 변수로 json 응답을 sparklines 그래프에서 성공없이 사용하려고합니다. 5 : 1 : 툴팁은 0을 보여주는 유지 (8) 대신 멀더 : 5 스컬리 :json 스파크 라인 그래프에 대한 툴팁 값 조회로의 Json 응답
var agents = {"names":{"0":"Mulder", "1":"Scully"}}
: 난 그냥 정확히 같은 JSON으로 변수 에이전트를 선언하는 경우 8
그것은 완벽하게 작동 그러나 evrything은 의도 한대로 서버 응답으로 시도 할 때 남쪽으로 간다. 누구든지 제발 저에게 말할 수 있습니까, 내가 뭘 잘못하고있는 걸까요?
var agents = $.ajax({
url : "/ajaxAgents",
type : "get",
dataType: 'json'
});
응답 : { "이름": { "0": "멀더", "1": "스컬리"}} 사전에
$("#mini-chart").sparkline([5,8], {
type: 'bar',
height: '30px',
barWidth: 6,
barSpacing: 2,
barColor: '#0aa699',
tooltipFormat: '<span style="color: {{color}}">●</span> {{offset:offset}}: {{value}}',
tooltipValueLookups:{offset:agents.names},
negBarColor: '#0aa699'});
감사합니다.
EDIT 커피와 맹세를 많이 후, 나는 마침내 일을 얻었다. 매우 우아한 해결책은 아닙니다. 인정해야합니다.
먼저 서버 측 PHP 함수를 변경하여 문자열 인 (json이 아님)을 반환해야합니다.
이어서 AJAX 호출 :
var response = $.ajax({
url : "/ajaxAgents",
type : "get",
dataType: 'text',
global : false,
async : false,
success : function(data){return data;}
}).responseText;
이어서 응답을 파싱하고 필터 :
var agents = $.parseJSON(response);
var filteredNames = $.map(agents.names, function(el) {
return el;
});
를 그리고 마지막으로, 스파크 기능 : Hüseyin @
$("#mini-chart").sparkline(agentsData, {
type: 'bar',
height: '30px',
barWidth: 6,
barSpacing: 2,
barColor: '#0aa699',
tooltipFormat: '<span style="color: {{color}}">●</span> {{offset:offset}}: {{value}}',
tooltipValueLookups:{offset:filteredNames},
negBarColor: '#0aa699'});
: 도움을 주셔서 감사합니다. 매우 도움이되었습니다.
죄송합니다. 나는 json을 재 선언 할 수 없다. 그것은 서버로부터의 응답이다. 또한 ** tooltipValueLookups ** 옵션 **에는 ** 키가 있어야합니다. 내가 말했듯이 JSON 객체를 직접 선언하면 기능이 매력적으로 작동합니다. 응답을 사용하려고하면 문제가 발생합니다. 예상했던 것과 정확히 같습니다. 고마워요, 어쨌든 :) – Sam
@Sam, ok json은 동일하게 유지 될 수 있습니다. 내 코드와 데모를 업데이트했습니다. 업데이트 된 asnwer를 참조하십시오. –
이것은 나를 미치게합니다. parseJSON은 json이 이미 객체이기 때문에 null을 반환합니다. 그리고 agent.names를 매핑하면 TypeError가 발생합니다.답장을 보내 주셔서 다시 한번 감사드립니다, @ Hüseyin. – Sam