以下是原帖: Multiple dynamic input text javascriptjQuery的插入新的輸入框中KEYUP動態
Here is my attempt:
http://jsfiddle.net/AZz6R/
我發現我的嘗試與原來的職位之間的差異有可能會是JavaScript和jQuery的如何治療返回聲明。在原始文章中,由於某些原因,代碼仍然會在return語句之後執行。
我的問題是任何人都可以幫助我使代碼工作在jQuery而不是普通的JavaScript?
以下是原帖: Multiple dynamic input text javascriptjQuery的插入新的輸入框中KEYUP動態
Here is my attempt:
http://jsfiddle.net/AZz6R/
我發現我的嘗試與原來的職位之間的差異有可能會是JavaScript和jQuery的如何治療返回聲明。在原始文章中,由於某些原因,代碼仍然會在return語句之後執行。
我的問題是任何人都可以幫助我使代碼工作在jQuery而不是普通的JavaScript?
試試這個:
$('#myDiv').on('keyup', 'input', function() {
if($(this).val() == ''){
$(this).next().remove();
return;
}
else if($(this).next().val() == '') {
console.log('here');
return;
}
var newTxt = $(this).clone();
var id = newTxt.attr('id');
newTxt.attr('id', 'txt_' + (parseInt(id.substring(id.indexOf('_') + 1))));
newTxt.val('');
$(this).parent().append(newTxt);
});
代碼中的主要問題是if
條件。改變它如下應該工作:
if($(this).val()==''){
$(this).next().remove();
return;
}
else if($(this).next().val()) {
console.log('here');
return;
}
第二個問題是,對於克隆輸入值不會變空。改變它,下面將工作:
newTxt.val('');
嘗試從該行刪除回報:否則,如果{ 的console.log( '這裏');($(本)。接下來()val.length> 0)。 // return; } – bksi
我在發佈問題之前試過。每按一次鍵,它都會克隆一個新的輸入。 – Lancelot