2012-07-19 99 views
4
<a data-role="button" data-transition="flip" href="#feedbackmain" inline style="height:120px" type="button" name="feedbackLink"> 
     <img src="icons/report.png" inline style="height:80px"/><br/>Feedback 
</a> 

所以我有这个按钮如上所示,我试图触发它为我打开饼图。问题是,我似乎无法让按钮工作。如果可能的话,我也可以在网页加载时创建饼图,但还没有弄清楚如何做到这一点。我的饼图中jQplot制成,是这样产生的:onclick()jQuery/JavaScript按钮来显示饼图不起作用

function drawChart(data) { 
    var data = data; 

     var options = { 
      title: 'Pie Chart', 
      seriesDefaults: { 
      renderer: jQuery.jqplot.PieRenderer, 
      rendererOptions: { 
       showDataLabels: true, 
       dataLabels: 'value', 
       fill: false, 
       sliceMargin: 5, 
       lineWidth: 5, 
       startAngle: 45 
      } 
      }, 
      legend: { show:true, location: 'w' } 
     }; 

     $.jqplot('chartDivId', data, options); 
    } 

现在,我打过电话这样的功能:

$(document).ready(function() 
    { 
    drawChart([[["data1",6],["data2",5],["data3",2]]]); 
}) 

我得到一个透明框,图表应该得出,但是......它是透明的。我可以在与data-role:page相同的div上创建一个带有onClick函数的按钮,并让它起作用,但我宁愿让它在启动时加载,因为我需要通过PHP从MySQL加载的data1,data2,data3参数。我甚至无法在第一片段用下面的代码显示的按钮接触:

$("#feedbackLink").click(function() 
     { 
     alert("2"); 
     }) 
    }); 

任何人都知道如何解决这一问题?或者让按钮为我做,或者让图表自动加载脚本的其余部分。

编辑:我甚至剥离下来到这一点:

$(document).ready(function() 
    { 
     $("#test").click(function() 
     { 
      alert("2"); 
     }) 
}) 

而且按钮:

<div data-role="page" id="page1"> 
    <input type="button" id="test" value="test"/> 
</div> 

我删除基本上是整个页面的一切,仍然没有该死的接触:U

+0

你怎么弄的parametrs做他们阅读用ajax或者通过作为查询从一个PHP文件varaibles? – 2012-07-19 08:10:46

+0

还没有做出这部分,首先我需要按钮来响应脚本的其余部分。 – Tom 2012-07-19 08:16:35

+0

你是否尝试过使用id属性而不是名字 – 2012-07-19 08:23:58

回答

1

您需要的id属性添加到锚,所以你可以使用jQuery处理click事件

<a data-role="button" data-transition="flip" id="feedbackLink" href="#feedbackmain" inline style="height:120px" type="button" name="feedbackLink"> 
    <img src="icons/report.png" inline style="height:80px"/><br/>Feedback 
</a> 

你也需要确保你的事件处理程序写在$(文件)。就绪()

$(document).ready(function(){ 
    $("#feedbackLink").click(function(){ 
     alert("2"); 
    }) 
}); 
+0

已经尝试过。只是似乎无法找到他们之间的连接:/ – Tom 2012-07-19 08:21:34

+0

还需要把事件放在$(document).ready() – 2012-07-19 08:28:15

+0

检查更新有问题,基本上没有任何工作> _ < – Tom 2012-07-19 08:38:02

1

将一个id属性添加到锚链接,然后尝试...它肯定会工作

jQuery中#类似元素的ID

$("#feedbackLink").click(function() 
     { 
     alert("2"); 
     }) 
    }); 
+0

试过,没有任何运气:/它应该放在document.ready部分是吗? – Tom 2012-07-19 08:17:13