上次博问了一个滑竿表示百分比的东西,解决了,可是问题又来了,这次是要页面上动态显示多个,个数不确定,比如考核模块,类似图片
滑竿不确定有多少个,是根据后台取出来的,可能有两个有三个或者更多,在页面加载的时候一个滑竿的代码是这样的
var sliderImage1 = new neverModules.modules.slider( { targetId: "sliderImage1", sliderCss: "imageSlider1", barCss: "imageBar1", min: 0, max: 100, hints: "move the slider" }); sliderImage1.onstart = function () { // getElementById("sliderDetail1").innerHTML = "onstart: sliderImage1 Start value is " + sliderImage1.getValue(); } sliderImage1.onchange = function () { //getElementById("sliderDetail1").innerHTML = "onchange: sliderImage1 Current value is " + sliderImage1.getValue(); }; sliderImage1.onend = function () { //getElementById("sliderDetail1").innerHTML += ", onend: The end the sliderImage1 value is " + sliderImage1.getValue(); } sliderImage1.create(); sliderImage1.setValue(sliderImage1.max / 2);
现在我要在页面上显示多个,其中比如代码规范,按时完成,工作态度和分数等是从后台取出来的,滑竿的个数是从后台ViewData["ProjectList"]这里传过来的,有知道的大牛吗?求指导,不甚感激~
js 接收后台数据 用分割获得数组 再循环滑竿的代码,一个一个赋值不可以吗?
首先,从后台获取数据(JSON)
1 #region c# code 2 3 public string DataSetToJson(DataSet ds){ 4 string json=string.empty; 5 // code here 6 return json; 7 } 8 9 public DataSet GetSlidersFromDb(){ 10 11 DataSet ds=new DataSet(); 12 13 // dt 可以不确定个数 14 // 如果不确定,使用for 15 DataTable dt1=new DataTable(); 16 dt1.TableName="代码规范"; 17 18 DataTable dt3=new DataTable(); 19 dt2.TableName="按时完成"; 20 21 DataTable dt3=new DataTable(); 22 dt3.TableName="工作态度"; 23 24 25 ds.Table.Add(dt1); 26 ds.Table.Add(dt2); 27 ds.Table.Add(dt3); 28 } 29 30 public string GetSliderJson(){ 31 32 string json=string.empty; 33 34 DataSet ds=GetSlidersFromDb(); 35 36 json=DataSetToJson(ds); 37 38 return json; 39 } 40 41 #endregion
其次,JS显示
1 //#region js code 2 3 4 ;(function(Controller,doc){ 5 6 7 Controller.WebService={ 8 9 getSliders:function(){ 10 11 // get json via webservice 12 //var json=GetSliderJson; 13 } 14 }; 15 16 Controller.View={ 17 18 initialize:function(){ 19 20 var json=Controller.WebService.getSliders(); 21 22 this.show(json); 23 }, 24 25 26 // @param{Object}json 27 show:function(json){ 28 29 // 根据后台来确定 30 31 // 如果不确定,下面使用for 32 var obj1=json[0]['代码规范']; 33 var obj2=json[0]['按时完成']; 34 var obj3=json[0]['工作态度']; 35 36 var sliderImage1=new slider(obj1); 37 var sliderImage2=new slider(obj2); 38 var sliderImage3=new slider(obj3); 39 } 40 }; 41 42 43 })(Obj||{},document); 44 45 //#endregion