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 で作成され、次のように生成されます。

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

4

2 に答える 2

1

アンカーリンクに属性を追加してidから試してください...きっとうまくいくでしょう

jquery#では、要素のIDに似ています

$("#feedbackLink").click(function()
        {
        alert("2");
        })
    });
于 2012-07-19T08:10:16.920 に答える
1

JQueryでクリックイベントを処理できるように、id属性をアンカーに追加する必要があります

<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() に記述されていることを確認する必要があります。

$(document).ready(function(){
    $("#feedbackLink").click(function(){
      alert("2");
    })
});
于 2012-07-19T08:17:25.497 に答える