微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有chartjs的javascript动态变量名

如何解决带有chartjs的javascript动态变量名

我正在尝试使用 js 函数更新 chartjs 数据集。问题是根据我的数据库返回的值,我有不同数量的图表。因此,当我将 chartjs 的名称作为参数发送给函数时,它将函数参数设置为我提供的字符串。我需要它使用该字符串作为 chartjs 名称,以便我可以更新该特定图表中的数据集。我知道 eval() 和 window[] 可以做到这一点,但我无法正常工作。

Project

以上是由我的查询提供的记录数创建的对我的函数调用

@foreach (string metric in Model.accelerateGraphDatas.Select(s => s.Metric))
        {                
            <div class="carousel-item">
                <button class="btn btn-bswh" onclick="oneMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+1 month</button>
                <button class="btn btn-bswh" onclick="twoMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+2 month</button>
                <button class="btn btn-bswh" onclick="threeMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+3 month</button>
                <button class="btn btn-bswh" onclick="fourMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+4 month</button>
                <button class="btn btn-bswh" onclick="fiveMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+5 month</button>
                <button class="btn btn-bswh" onclick="sixMonth('@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())')">+6 month</button>
                <canvas id="@Html.Raw("chart" + Model.accelerateGraphDatas.Where(r => r.Metric == metric).Select(s => s.ChartNumber).FirstOrDefault())" class="h-100 w-100" alt="@metric"></canvas>
            </div>
        }

这部分是我创建图表和创建函数来更新我的数据集的地方

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。