2017-08-10 32 views
0

我有一个jQuery的函数,它只允许输入框中的数字。 它在表格的第一行中运行良好,但在之后的克隆行中不起作用。 这里是我的js克隆代码,我明白它可以与clone (true, true)但没有解决它。jquery函数可以在表的第一个td上工作,但不能在克隆上工作

var $to_clone = $('.tr_clone').first().clone(); 
    $(document).on('click', 'input.tr_clone_add', function() { 
    var $tr = $(this).closest('.tr_clone'); 
    var $clone = $to_clone.clone(); 
    $clone.find(':text').val(''); 
    $tr.after($clone); 
    }); 
+1

那么这个功能只允许数字在哪里?这不是发布的 – adeneo

+0

你是否知道[.clone()](https://api.jquery.com/clone/)接受了几个布尔参数?我怀疑他们在这里很重要。 –

+0

什么是'$ to_clone'? –

回答

1

你几乎已经自己做了。它看起来确实与clone(true, true)有关,但我认为在定义$to_clone对象(它是第一行的克隆)时并未使用它,并且创建该对象的克隆以附加到表。我使用与该数字扩展名链接的小提琴,添加了您的代码,并将true,true作为参数添加到clone()调用中,并且它似乎只有数字输入才能用于所有副本。

https://jsfiddle.net/59wvxa7r/

编辑:此外,友好的提醒,如果在评论中回答问题时,最好的标记,你要回复到用户(如@ mark.hch为我加标签) - 这样我们当您回复时收到一条消息 - 否则我们懒惰的用户可能永远不会返回查看您的回复。

+0

感谢您的建议@ mark.hch。你的小提琴工作正常,我把你的修改整合到我的完整工作形式(https://jsfiddle.net/rdugert/2nxhdsbq/),但我仍然遇到第二条线和下一个问题...你有没有改变其他的数字jQuery脚本? –

+0

@RenaudDUGERT,没有,没有改变任何东西。我认为这只是与执行命令有关;数字函数在创建克隆之后在'.numeric'元素上被调用,所以克隆的版本似乎没有选择它。通过在代码的其余部分之前放置数字函数声明和'$('。numeric')。numeric({...})'调用,它似乎工作正常:https://jsfiddle.net/n3o88vd1/ –

+0

嗨@ mark.hch,感谢您的帮助!现在一切都解决了! –

相关问题