d3.json-怎么样通过dropdownlist将值js中的变量并且重新画图

问题描述

怎么样通过dropdownlist将值js中的变量并且重新画图

部分aspx页面

<asp:TextBox ID="txt" runat="server" CssClass="input normal" datatype="s0-10" sucmsg=" "></asp:TextBox>
 <asp:DropDownList ID="ddlExpressStatus" runat="server" AutoPostBack="True" onselectedindexchanged="ddlExpressStatus_SelectedIndexChanged">
              <asp:ListItem Value="0" Selected="True">选择数据月份</asp:ListItem>
              <asp:ListItem Value="1">1月份</asp:ListItem>
              <asp:ListItem Value="2">2月份</asp:ListItem>
              <asp:ListItem Value="3">3月份</asp:ListItem>
              <asp:ListItem Value="4">4月份</asp:ListItem>
              <asp:ListItem Value="5">5月份</asp:ListItem>
              <asp:ListItem Value="6">6月份</asp:ListItem>
              <asp:ListItem Value="7">7月份</asp:ListItem>
              <asp:ListItem Value="8">8月份</asp:ListItem>
              <asp:ListItem Value="9">9月份</asp:ListItem>
              <asp:ListItem Value="10">10月份</asp:ListItem>
              <asp:ListItem Value="11">11月份</asp:ListItem>
              <asp:ListItem Value="12">12月份</asp:ListItem>
            </asp:DropDownList>

上面选择相应的月份下面的副标题也相应的改变并且d3.json的图表重新画,要求页面不刷新。

 <script type="text/javascript">
 window.onload = function(){
        document.getElementById("ddlExpressStatus").onchange = function () {
            document.getElementById("txt").value = this.value;
        }
    }

    //读取JSON数据
    d3.json(""+word.json+"", function (error, data)
    {
        var yue = <%=ddlExpressStatus.SelectedValue%>;
var dataset=[];
var xMark=[];
data.forEach(function(d)
{
dataset.push(d.revenue);
str=d.postdate;
str = str.replace(/-/g,"/");
var date = new Date(str);
xMark.push(date.getDate());
});
var chart=new magicdataLine(10,10);
chart.w=1000;
chart.title = "从JSON中读取的数据";
chart.subTitle = "时间:2016年" + yue + "月 指标名称:订单每日销售额";
chart.dataset=[dataset];
chart.xMarks=xMark;
chart.lineNames = ["日期"];
chart.draw();
    });

</script>

dropdownlist改变时候textbox中的值改变了但是这个月份不改啊。

我这个问题是yue只能获得第一个值,副标题不随着dropdownlist改变而改变,求大神帮忙解答!!

解决方案

dropdownlist是服务器控件,你可以在你的服务器端的dropdownlist_change事件中重新绑定下chart

解决方案二:

JS画图
js画图

时间: 2024-09-13 00:53:28

d3.json-怎么样通过dropdownlist将值js中的变量并且重新画图的相关文章

深入理解JS中的变量及作用域、undefined与null

 本篇文章主要是对JS中的变量及作用域.undefined与null进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Situation One   代码如下: <script> var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量   function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到 </scr

JS中使用变量保存arguments对象的方法_javascript技巧

迭代器(iterator)是一个可以顺序存取数据集合的对象.其一个典型的API是next方法.该方法获得序列中的下一个值. 迭代器示例 题目:希望编写一个便利的函数,它可以接收任意数量的参数,并为这些值建立一个迭代器. 测试代码好下: var it=values(,,,,,,,,); it.next();// it.next();// it.next();// 分析:由于values函数需要接收任意多个参数,这里就需要用到上一节讲到的构建可变参数的函数的方法.然后里面的迭代器对象来遍历argum

Js中的变量

Js中的变量: 1:如果在var中没有初始化变量的值,则默认为undefined. 2:可以不用var来申明一个变量,但是在过程级中申明一个变量时,就必须用var.   总之用var就对了. 3:当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JScript 值 null.下面给出示例.   var bestAge = null; 4:如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined.下面给出示例.    var currentCoun

js中取得变量绝对值的方法_javascript技巧

本文实例讲述了js中取得变量绝对值的方法.分享给大家供大家参考.具体分析如下: 绝对值在js中我们直接使用abs函数来求,这里就来整理一些关于js中取得变量的绝对值的方法,以便让大家更深入的理解js绝对值的用法 js中的绝对值不怎么常用到,今天在写一个方法的时候遇到了,于是记录下来,与大家共同学习. js中的默认对象--Math对象下面有一个abs函数,专门用来获取数字的绝对值,如: 复制代码 代码如下: Math.abs(-1);  //1 Math.abs(-2);  //2 当然,这个函数

js中与变量相关的一些知识

来补充一点上一篇文章 js变量初探 中漏掉的知识点: 1.变量的定义与声明中常见问题: (1)用var关键字声明的变量,未经初始化时,保存的是一个特殊的值-undefined,变量初始化仅仅是给变量赋一个值 (2)当使用var关键字声明了一个变量时,创建的这个变量是不可配置的,也就是说这个变量无法通过delete运算符删除:在严格模式下,使用delete运算符删除var关键字声明的变量会导致SyntaxError. (3)省略var关键字会导致定义一个全局变量,但是不推荐这种做法.在严格模式下,

怎么在js中保存变量的值然后在做为参数传到后台

问题描述 <FORM method="post" action="essay.action?sname=<s:property value="#session.sname"/>"><script type="text/javascript">function vot(o){var v=document.getElementById("sort").value=o;sess

深入理解JS中的变量及作用域、undefined与null_javascript技巧

Situation One 复制代码 代码如下: <script> var i; //全局变量 //方法名是camel命名法 //方法里面的变量是局部变量 function sayHello(){ var x=100; alert(x); x++; } sayHello(); //输出100 alert(x); //报错,因为x是局部变量,访问不到</script> Situation Two 复制代码 代码如下: <script>function sayHello()

js中判断变量是否为数字 isNaN函数

isNaN 函数 isNaN(expression:Object) : Boolean 常用验证数字  代码如下 复制代码 document.write(isNaN(123));//false document.write(isNaN(-1.23));//false document.write(isNaN(5-2));//false document.write(isNaN(0));//false document.write(isNaN("Hello"));//true docum

使用node.js中的Buffer类处理二进制数据的方法_node.js

前言 在Node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区.这篇文章就详细介绍了node.js中的Buffer类处理二进制数据的方法,下面话不多说,来看看详细的介绍. 创建Buffer对象 第一种:直接使用一个数组来初始化缓存区 var arr = [0,1,2] var buf = new Buffer(arr) console.log(buf) 执行效果: 第二种:直接使用一个字符串来初始化缓存区 var str = 'hello' var buf = n