2017-08-10 33 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,感謝您的幫助!現在一切都解決了! –

相關問題