0

ページで Shield ASP.NET MVC チャートを使用しています。訪問者に最初にデータを表示するグラフが必要であり、対応するボタンをクリックしてグラフを非表示にする機能をユーザーに提供する必要があります。この目的のために、次の関数を使用します。

<script>
    function HideChart() {
        document.getElementById("DataSpot").innerHTML = "";
    }
</script>

そして、私は次のようにチャートを配置しています:

<p id="DataSpot">
@(Html.ShieldChart()
    .Name("chart")
    .PrimaryHeader(header => header.Text("Profile Hits"))
    .Export(false)
    .AxisX(axisX => axisX
    ………..
)
</p>
<button onclick="HideChart()">Hide Chart</button>

問題は、ボタンをクリックしても何も起こらないことです。

4

3 に答える 3

0

実際には何かが起こっていますが、明らかにあなたが必要としているものではありません。これは、コンテナーを参照してレンダリングされたチャートを消去する必要があるためです。の

要素は問題ありません。関数にテキストを入力して実行すると、適切な場所に表示されることがわかります。ただし、チャートを非表示にするには、その名前を使用する必要があります。つまり、次のステートメントです。

 document.getElementById("DataSpot").innerHTML = "";

に変更する必要があります

 document.getElementById("chart").innerHTML = "";

または、チャートの名前を

 .Name("DataSpot ")

どちらの場合も P 要素は使用しないため削除します。

于 2013-08-16T16:38:21.517 に答える
0

どうですか:

<script>
    function HideChart() {
        document.getElementById('DataSpot').style.display='none';
    }
</script>

ボタンも更新する必要があります。

<button type="button" onclick="HideChart()" value="Hide Chart" />
于 2013-08-16T13:19:37.220 に答える