2013-07-10 6 views
1

어떻게 함수를 다른 함수로 감싸서 코드에서 호출 할 수 있습니까? 나는 랩에이를 넣을 수 있습니다 내가 들었다자바 스크립트의 줄 바꾸기 함수

$(function() { 
$('#container').highcharts({ 
    chart: { 
     type: 'bar' 
    }, 
    title: { 
     text: 'Fruit Consumption' 
    }, 
    xAxis: { 
     categories: ['Apples', 'Bananas', 'Oranges'] 
    }, 
    yAxis: { 
     title: { 
      text: 'Fruit eaten' 
     } 
    }, 
    series: [{ 
     name: 'Jane', 
     data: [1, 0, 4] 
    }, { 
     name: 'John', 
     data: [5, 7, 3] 
    }] 
    }); 
});​ 

<div id="container" style="width:340px; height:270px;"></div> 

다음 함수를 호출 :

그래서 이것은 내가 포장하고 함수를 호출하는 데 필요한 코드입니다. 어떻게 할 수 있습니까?

이 데이터는 모조 적이기 때문에 서버에서 데이터를 가져옵니다. 내가 원하는 건 RegisterClientScriptBlock을 사용하여 데이터를 새로 고침 할 수 있도록 코드를 다시 그리는 것입니다. 하기 일반 함수 정의

protected void Page_Load(object sender, EventArgs e){ 
    string someScript = "<script language='javascript'>container_highcharts();</script>"; 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript); 
} 
+0

? 무엇을 성취하려고합니까? 귀하의 설명에서 명확하지 않습니다 – Trogvar

+0

이 데이터는 더미이며, 내 데이터는 서버에서 제공됩니다. 내가 원하는 것은 RegisterClientScriptBlock을 사용하여 데이터를 새로 고침하기 위해 코드의 차트를 다시 그리는 것입니다. –

답변

1

이 당신이 필요로하는 것입니다 : 당신이 해결하는 어떤 작업

protected void Page_Load(object sender, EventArgs e){ 
string someScript = "<script language='javascript'>container_highcharts();</script>"; 
Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript); 
} 
2

:에이어서

<script type="text/javascript"> 
    function container_highcharts(chartTitle, xAxisCategories, yAxisTitle, seriesArray) 
    { 
     $(document).ready(function() 
     { 
      $('#container').highcharts({ 
       chart: { 
        type: 'bar' 
       }, 
       title: { 
        text: chartTitle 
       }, 
       xAxis: { 
        categories: xAxisCategories 
       }, 
       yAxis: { 
        title: { 
         text: yAxisTitle 
        } 
       }, 
       series: seriesArray 
      }); 
     }); 
    } 
</script> 

을 코드 숨김 동적 파라미터를 사용하여이 함수 호출 등록 이렇게 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    string chartTitle = GetChartTitle(); 
    string xAxisCategories = GetXAxisCategories(); 
    string yAxisTitle = GetYAxisTitle(); 
    string seriesArray = GetSeriesArrayAsString(); 

    string someScript = String.Format("<script language='javascript'>container_highcharts({0}, {1}, {2}, {3});</script>", chartTitle, xAxisCategories, yAxisTitle, seriesArray); 
    Page.ClientScript.RegisterStartupScript(this.GetType(), "onload", someScript); 
} 

페이지로드시 실행할 스크립트가 등록됩니다.

+0

내 차트가 지금 표시되지 않습니다.이 데이터는 더미이며, 내 데이터는 서버에서 전송됩니다. 내가 원하는 건 RegisterClientScriptBlock –

2

뒤에 영문 페이지 코드

<script type="text/javascript"> 
    function container_highcharts() { 
     $('#container').highcharts({ 
      chart: { 
       type: 'bar' 
      }, 
      title: { 
       text: 'Fruit Consumption' 
      }, 
      xAxis: { 
       categories: ['Apples', 'Bananas', 'Oranges'] 
      }, 
      yAxis: { 
       title: { 
        text: 'Fruit eaten' 
       } 
      }, 
      series: [{ 
       name: 'Jane', 
       data: [1, 0, 4] 
      }, { 
       name: 'John', 
       data: [5, 7, 3] 
      }] 
     }); 
    } 
</script> 

+1

+1을 사용하여 데이터를 새로 고칩니다. 그러나 루트 데이터 객체를 전달하는 것은 각 데이터 attr을 매개 변수로 전달하는 대신 더 좋을 것입니다. 시리즈에 대한 – ocanal

+0

시리즈, seriesArray, 데이터는 어떨까요! –

+0

이것은 혼란스러워지고 있습니다. –