如何在数据列表中绑定里程表
How to Bind Odometer in Datalist
我从http://uvumitools.com/odometer.html但只有数据列表中的第一个元素获得Odometer,其他元素不显示里程表。这是代码
<script type="text/javascript" src="js/UvumiOdometer-compressed.js"> </script>
<link rel="stylesheet" type="text/css" media="screen" href="css/uvumi-odometer.css"
<script type="text/javascript">
var odo2 = new UvumiOdometer('odometer2', { digits: 3 });
</script>`
<asp:DataList ID="dlEquipment" runat="server" DataKeyField="Device_Id"
RepeatDirection="Horizontal" RepeatColumns="5" Width="100 >
<ItemTemplate>
<div id="odometer2<%# Eval("count")%>
</div></ItemTemplate>
因为有多个元素具有相同的ID,所以它只适用于第一个元素。。
更改Item模板以包含脚本-该脚本初始化新的里程表-这样它将基于任何键列为odemterdiv填充不同的id
试试这个
<ItemTemplate>
<div id='odometer<%# Eval("Device_Id") %>'>
<%# Eval("count")%>
</div>
<script type="text/javascript">
new UvumiOdometer('odometer<%# Eval("Device_Id")%>', { digits: 3 });
</script>
</ItemTemplate>
- 我假设"Device_Id"是一个唯一的列
这是因为您在列表元素中使用静态id odometer2,文档中的id应该是唯一的,否则文档中的id.getElementById(id)将始终返回具有给定id的第一个元素。
如果使用jQuery,可以向div 添加一个class属性
<ItemTemplate> <div class="odometer2"> </div></ItemTemplate>
then
<script type="text/javascript">
jQuery(function($){
$('.odometer2').each(function(){
new UvumiOdometer(this, { digits: 3 });
})
})
</script>
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- Telerik rad组合框多列数据绑定
- 对API数据使用声明性绑定
- 如何销毁/删除/取消绑定SnapSVG.js
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 数据绑定:'系统Char'不包含名为'xxxxx'
- react组件中的绑定方法
- 如何将ngrepeat下的ngmodel绑定到$scope
- WinJS内联绑定语法
- ng绑定和ng href问题.ng href未从控制器加载数据
- 如何在数据列表中绑定里程表