将参数传递给javascript函数

时间:2014-01-15 18:36:06

标签: javascript html

我正在处理高级图表并且非常喜欢它们的外观。我可以使用默认数据在我的网页上显示一个但是如何将数据从id传递给函数。

此处调用该函数:

<div id="containerpie" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

功能如下:

$(function () {
    $('#containerpie').highcharts({
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false
    etc etc

我认为它应该是正确的:

$(function (var1, var2, var3, var4)

但是如何从div行发送变量?

2 个答案:

答案 0 :(得分:1)

您可以使用data属性,然后从javascript代码中捕获。 e.g。

<div id="containerpie" data-param1="val1" data-param2="val2" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

在你的javascript中:

$(function () {
    // Get from the div element
    var val1 = $('#containerpie').data('val1');
    var val2 = $('#containerpie').data('val2');

    $('#containerpie').highcharts({
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false
        ...

答案 1 :(得分:0)

不,你不能传递那样的参数。

要根据您的数据源填充数据,您必须修改该函数正文中的“系列”部分,如下所示:

series: [{
            type: 'pie',
            name: 'Browser share',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                {
                    name: 'Chrome',
                    y: 12.8,
                    sliced: true,
                    selected: true
                },
                ['Safari',    8.5],
                ['Opera',     6.2],
                ['Others',   0.7]
            ]
        }]

然后,您可以使用任何所需的字符串操作“data”元素,例如,您希望从数据库查询中加载它。您可以使用json_encode()支持。