Передача переменных в данные для построения графика Jquery

#javascript #jquery #plot

#javascript #jquery #построение

Вопрос:

У меня есть Jquery.Flot.Круговая диаграмма и когда я передаю непосредственно числа в данные, это работает (вот так), а также только с одним фрагментом.

  <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
        }
    });
});
  

Кто-нибудь может мне помочь? Спасибо!

Комментарии:

1. Преобразуйте переменные в целое число и передайте его, затем проверьте ответы ниже.

Ответ №1:

Поскольку .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() метод.

Ответ №2:

Используйте, как показано ниже

{ label: "INS", data: parseInt(ins), color: "#FFFFFF" },

Проделайте то же самое с другими переменными

ДЕМОНСТРАЦИЯ