从textbox中检索值并传递给js
retrieve value from textbox and pass to js
我正在绘制d3图,代码运行良好。但要更改输入点的数量,在我的情况下是100,我必须将它们更改为等于文本框值的数量。但在这样做的时候,我必须使用location.reload(),并且使用它会丢失所选的值。有人能帮我吗。这是代码:
html文件
<script type="text/javascript" src="d3.v3.min.js"></script>
<script>
function update7()
{
var number=document.getElementById("number");
document.getElementById("nd").value=number.options[number.selectedIndex].text;
}
</script>
<style type="text/css">
.axis path,.axis line
{
fill:none;
stroke:black;
shape-rendering:crispEdges;
}
.axis text
{
font-family:sans-serif;
font-size:11px;
}
</style>
<script type="text/javascript">
var w=800;
var h=600;
var padding=30;
var dataset=new Array();
var currentdate;
var sec;
var x1;
var y1;
for(var i=0;i<100;i++)//here i have to set the value of textbox instead of 100
{
currentdate=new Date();
sec=currentdate.getSeconds();
sec=+sec;
x1=Math.floor((Math.random()*100*sec)+10);
x1=+x1;
y1=Math.floor((Math.random()*(100+sec)));
y1=+y1;
dataset.push([x1,y1]);
}
</script>
</head>
<body>
<h1 id="fps" ></h1>
<form>
Select number of data-points:
<select id="number" onchange="update7()">
<option></option>
<option>100</option>
<option>1000</option>
<option>4000</option>
<option>10000</option>
<option>40000</option>
</select>
<input type="text" id="nd" size="20" value="10" >
</form>
</body>
</html>
src.js
window.onload = function () {
//var tb=document.getElementById("nd");
//tb.setAttribute("onchange",function(){init(tb.value);setupFunc();});
setupFunc();}
var svg;
var xScale;
var yScale;
var rscale;
var xAxis;
var yAxis;
var filterStrength = 20;
var frameTime, lastLoop , thisLoop;
function GetFeed(){
svg.selectAll("circle").data(dataset).transition().duration(1000).each("start",function() {d3.select(this).attr("fill","magenta").attr("r",3);}).attr("cx",function(d){return xScale(d[0]);}).attr("cy",function(d){return yScale(d[1]);})
.each("end",function(){d3.select(this).attr("fill","black").attr("r",2);});
var thisFrameTime = (thisLoop=new Date) - lastLoop;
frameTime+= (thisFrameTime - frameTime) / filterStrength;
lastLoop = thisLoop;
var fpsOut = document.getElementById('fps');
fpsOut.innerHTML = "Frame rate: "+(1000/frameTime).toFixed(1) + " fps";
}
function setupFunc() {
frameTime = 0;
xScale=d3.scale.linear().domain([0,d3.max(dataset,function(d){return d[0];})]).range([padding,w-padding*2]);
yScale=d3.scale.linear().domain([0,d3.max(dataset,function(d){return d[1];})]).range([h- padding,padding]);
rscale=d3.scale.linear().domain([0,d3.max(dataset,function(d){return d[1];})]).range([2,5]);
svg=d3.select("body").append("svg").attr("width",w).attr("height",h);
svg.selectAll("circle").data(dataset).enter().append("circle").attr("cx",function(d){return xScale(d[0]);}).attr("cy",function(d){return yScale(d[1]);}).attr("r",function(d){return rscale(d[1]);}).append("title").text(function(d){return "x: "+d[0]+" y: "+d[1];});
xAxis=d3.svg.axis().scale(xScale).orient("bottom").ticks(5);
yAxis=d3.svg.axis().scale(yScale).orient("left").ticks(5);
svg.append("g").attr("class","X axis").attr("transform","translate(0,"+(h- padding)+")").call(xAxis)
svg.append("g").attr("class","Y axis").attr("transform","translate("+padding+",0)").call(yAxis);
lastLoop= new Date;
GetFeed();
setInterval("GetFeed()",7000);
}
使用localStorage()或cookies
来显示类似selected data
的
newValue=number.options[number.selectedIndex].text;
document.getElementById("nd").value=newValue;
localStorage.setItem("newValue", newValue);// to set new value
为了得到newValue
,试试这个,
newValue=localStorage.getItem('newValue');
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- background.js正在捕获textbox的keydown事件
- 从textbox中检索值并传递给js
- asp.net TextBox需要是红色的,如果没有检查.使用JS / jQuery