2015-07-21 24 views
0

我有一個下拉列表,其中包含contacts,即John,Bob等,並且旁邊有一個按鈕,單擊它時將顯示聯繫人的電話號碼我的<textarea></textarea>在不使用「.append」的情況下追加新行文本

每當我選擇一個聯繫人並按下按鈕時,我想在我的textarea中顯示該號碼,並且每添加一個聯繫人的號碼我添加我希望號碼顯示在先前號碼的下方。所以基本上我需要像這樣每個數字之間的換行符。

1234567890

5557778888

當我使用使用.append我的第一個功能,它的工作原理,但是我想,如果我編輯的號碼或取出數的方式,我不能用我的按鈕添加數字到textarea了。我從this SO article意識到,這是因爲文本節點和值可以斷開。

然後我試着用.val,但是這只是取代了我的textarea中的數字,而不是附加在它下面。

解決此問題的最佳方法是什麼?謝謝!

讓我知道你是否需要任何額外的信息。

我的JavaScript函數:

使用.append()

selectOption: function() { 

     $('#addContact').click(function() { 
      $('#toPhoneNumber').append($('#toAdd option:selected').data('number') + '&#xA;'); 

     }); 

    }, 

使用.val()

selectOption: function() { 

     $('#addContact').click(function() { 
      $('#toPhoneNumber').val($('#toAdd option:selected').data('number') + '\n'); 

     }); 

    }, 

回答

1
var nums =[]; 
. 
. 
selectOption: function() { 
    $('#addContact').click(function() { 
    var num =$('#toAdd option:selected').data('number'); 
    if (nums.indexOf(num)==-1) nums.push(num); 
    $('#toPhoneNumber').val(nums.join('\n')); 
    }); 
}, 
+0

正是我在找的!只是一個簡單的問題,防止添加同一聯繫人的次數超過兩次的好方法是什麼?目前,我可以多次點擊該按鈕,它會在我的textarea中多次添加該聯繫人的號碼,這不是我想要的。我很抱歉在這裏提出另一個問題,你不必回答。讚賞。 – user3128376

+0

其實,我只是意識到這一點,我不能手動輸入數字在textarea,因爲這不會保存我手動輸入的數字。 – user3128376

+0

@ user3128376請參閱更新爲愚蠢。如果你想輸入你自己,添加'nums = $(「#toPhoneNumber」).val().split(「\ n」);'也許用一個測試來查看在使用nums之前字段中有任何數字 – mplungjan

0

隨着VAL你可以試試:

selectOption: function() { 
     var temp = $('#toPhoneNumber').val(); 
     $('#addContact').click(function() { 
      $('#toPhoneNumber').val(temp + $('#toAdd option:selected').data('number') + '\n'); 

     }); 

    }, 
相關問題