2015-05-14 52 views
0

我的應用程序基於+/- 按鈕動態創建和刪除新元素。 動態創建的元素內部是文本形式。我希望用戶輸入文本形式的任何內容顯示在另一個動態創建的元素中。更改基於文本形式的元素的文本的問題.val()

$('.LName').keyup(function(event) { 
 
\t var crazy = {}; 
 
\t for (var x = 1; x < i; x++) { 
 
\t \t crazy[x] = function() { 
 
\t \t \t $('#sideChange'+ x).keyup(function(event) { 
 
\t \t \t \t var value = $(this).val(); 
 
\t \t \t \t $('.sLoan'+ x).text(value); 
 
\t \t \t \t }) 
 
\t \t } 
 
\t } 
 
\t for (var p = 1; p < i; p++) { 
 
\t \t crazy[p](); 
 
\t } 
 
});

例如,我做到了這一點通過包括在HTML的onkeyup屬性的功能改變先前的元素中的文本,但我不知道如何準確地瞄準其他元素。

var changeTitle = function() { 
 
\t var loanTitle = $(this).val(); 
 
\t var code = $("input[type='text'][name='loanName']").keyCode || $("input[type='text'][name='loanName']").which; 
 
\t var length = loanTitle.length; 
 
\t console.log(length); 
 
\t \t if(length < 1 || code == 8) { 
 
\t \t \t $(this).prev().text('Loan'); 
 
\t \t } 
 
\t \t else { 
 
\t \t \t $(this).prev().text(loanTitle); 
 
\t \t } 
 
};

+0

什麼恰恰是你所遇到的問題?您發佈的代碼是否按照您的期望工作,您的意思是不能針對其他元素? – ssb

回答

1

什麼也許你會想要做的是數據綁定某種ID的您生成的兩個元素。在下面的小提琴中,我只是使用遞增數字。當鍵入發生時,我會抓取該元素的數據id並使用它來查找其「鏡像」輸入。

$('.mirror[data-id="'+id+'"]').val(text); 

你的問題有點含糊,但我認爲這就是你要求的。

http://jsfiddle.net/swoogie/f8cd4voz/

+0

這正是我期待的!謝謝! data-id如何工作? – Frank

+1

查看W3規範中的數據屬性。總體思路是,您可以將一些信息保存到DOM中供以後檢索。這有助於簡化您的JavaScript邏輯,因爲您不需要編寫大量代碼來維護狀態。 http://dev.w3.org/html5/spec-preview/global-attributes.html#custom-data-attribute –