javascript - 将变量传递给 Jquery Plot 数据

标签 javascript jquery plot

我有一个 Jquery.Flot.Pie 图表,当我直接将数字传递给 Data 时,它可以工作(就像这样),而且也只有一个切片。

 <script type="text/javascript">
$(document).ready(function () {


    var ord = $("#MyUserInfoBoxControl_txtOrd").val();        
    var lav = $("#MyUserInfoBoxControl_txtLav").val();
    var pro = $("#MyUserInfoBoxControl_txtPro").val();
    var con = $("#MyUserInfoBoxControl_txtCon").val();
    var ins = $("#MyUserInfoBoxControl_txtIns").val();

    alert(ord + "," + lav + "," + pro + "," + con + "," + ins);

    var data = [
        { label: "INS", data: 0, color: "#FFFFFF" },
        { label: "LAV", data: 0, color: "#4572A7" },
        { label: "PRO", data: 0, color: "#80699B" },
        { label: "CON", data: 0, color: "#AA4643" },
        { label: "ORD", data: 100, color: "#3D96AE"}
    ];

    alert(data[0].toString())

    $.plot($("#Grafico"), data, {
        series: {
            pie: {
                show: true,
                threshold: 0,
                tilt: 1

            }
        },
        legend: {
            show: false
        }
    });
});

相反,当我尝试将变量传递给数据数组时,它不再起作用(警报没问题,所以数据是正确的)我也尝试过使用 parseFloat() 但无事可做:

 <script type="text/javascript">
$(document).ready(function () {


    var ord = $("#MyUserInfoBoxControl_txtOrd").val();        
    var lav = $("#MyUserInfoBoxControl_txtLav").val();
    var pro = $("#MyUserInfoBoxControl_txtPro").val();
    var con = $("#MyUserInfoBoxControl_txtCon").val();
    var ins = $("#MyUserInfoBoxControl_txtIns").val();

    alert(ord + "," + lav + "," + pro + "," + con + "," + ins);

    var data = [
        { label: "INS", data: ins, color: "#FFFFFF" },
        { label: "LAV", data: lav, color: "#4572A7" },
        { label: "PRO", data: pro, color: "#80699B" },
        { label: "CON", data: con, color: "#AA4643" },
        { label: "ORD", data: ord, color: "#3D96AE"}
    ];

    alert(data[0].toString())

    $.plot($("#Grafico"), data, {
        series: {
            pie: {
                show: true,
                threshold: 0,
                tilt: 1

            }
        },
        legend: {
            show: false
        }
    });
});

有人可以帮助我吗?谢谢!

最佳答案

因为 .val() 方法以 string 形式返回值,因此您需要将它们转换为 integer:

var ord = +$("#MyUserInfoBoxControl_txtOrd").val();        
var lav = +$("#MyUserInfoBoxControl_txtLav").val();
var pro = +$("#MyUserInfoBoxControl_txtPro").val();
var con = +$("#MyUserInfoBoxControl_txtCon").val();
var ins = +$("#MyUserInfoBoxControl_txtIns").val();

添加前缀 + 将它们转换为 integer,或者您可以使用 parseInt() 代替前缀 +方法也是如此。

关于javascript - 将变量传递给 Jquery Plot 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24585378/

相关文章:

python - 在 python2.7 中绘制 4D 图

r - 如何绘制时间数据的子集?

javascript - 遍历所有节点并在 Javascript 中生成键和值

javascript - 开发 Firefox 扩展的最简单方法是什么?

javascript - nodejs使用knox上传到s3?

python - 在 Windows 上使用 PyCharm 的 matplotlib 不会绘制图形,没有错误

javascript - jQuery promise .done() 立即触发,不等待服务器返回

javascript - 以仅提供 src 属性的 iframe 为目标

c# - context.Request.Files 从 jQueryFileUpload 返回 null

jquery - 使用 jquery 比较文本框中的两个值