在MVC razor中创建多实例向后计时器jquery插件

本文关键字:计时器 jquery 插件 实例 MVC razor 创建 | 更新日期: 2023-09-27 18:02:01

我有一个类似

的页面视图列表
     @foreach (var item in Model)
        {
            <tr>
                <td class="colcode">
                    @Html.DisplayFor(modelItem => item.SMCode)
                </td>
                <td class="colname">
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
                <td class="colip">
                    @Html.DisplayFor(modelItem => item.IP)
                </td>
               <td class="coloffsetfund">
                        <div>
                            <span id="@item.IP.Replace(".","")"></span>
                        </div>
                        <div>
                            <span id="@item.SMCode"></span>
                        </div>
                             <script type="text/javascript">
                                $(document).ready(function () {
                                    idtimer = '#@item.IP.Replace(".","")';
                                    password = '@item.Password';
                                    ip = '@item.IP';
                                    smcode = '@item.SMCode';
                                    startTimer(idtimer);
                                    $(idtimer).backward_timer({
                                        seconds: '@item.DelaySecond',
                                        on_exhausted: function (timer) {
                                            alert('stop timer:' + idtimer);
                                            //ajax call to update value
                                        }                                       
                                    });                                   
                                });
                            </script>
我的清单上有两项,但我不知道为什么。当定时器的event on_exhausted执行时,它总是最后一项。我不知道这里的逻辑是什么。我如何提醒正确的idtimer。谢谢你的帮助!!

在MVC razor中创建多实例向后计时器jquery插件

抱歉,我知道我的问题在哪里,因为我使用变量来赋值,当生成HTML时,变量总是包含最新的值。我修复了使用直接调用

时的问题
$('#@item.IP.Replace(".","")').backward_timer({

对于其他人遇到的问题和我一样:)谢谢你。