动态id生成时附加一行并调用时差功能吗?

时间:2012-08-06 09:08:51

标签: javascript jquery jquery-ui jquery-plugins

使用trent的timepicker插件以表格格式生成timepicker。根据计算的时间差来计算同一行中的开始时间和结束时间。为了生成多个时间戳,我使用了类而不是id。麻烦是我想生成动态id并在其中附加一行带有calculate()。

以下是我目前的代码:

$(document).ready(function() {

    //table grid structure follows here
    $("#AddRow").click(function() {
        var row = '<tr><td>' +'<input type=text /></td>' + '<td><input type=text class="timepicker" value=""/></td>' + '<td><input type=text class="timepicker" value=""/></td>' + '<td><input type=text id= "difference" /></td>' + '<td><button>delete</button>' + '</td></tr>';
        $("#table").append(row);

    });
    $('body').on('focus', ".timepicker", function() {
        $(this).timepicker({});
    });

    $("#table").on("click", "button", function() {
        $(this).closest("tr").remove();
    });
    //table structure ends here
});

有任何方法可以实现吗?

2 个答案:

答案 0 :(得分:1)

IE浏览器不支持“sessionStorage”...
试试这个......

$(document).ready(function(){
var i=0;
$('input.timepicker').each(function(){
    i++;
    $(this).attr("id","timepicker_"+i);
});

});

答案 1 :(得分:0)

生成动态ID的想法是在会话存储中存储一个数值,该值将连接到一个常量前缀。使用后,数值将递增。类似的东西:

var id = sessionStorage.getItem("id");
if (!id) {
    id = 0;
}
var idValue = "myId" + id.toString();
sessionStorage.setItem("id", id++);