在不使用“.append”的情况下追加新行文本
问题描述:
我有一个下拉列表,其中包含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') + '
');
});
},
使用.val()
selectOption: function() {
$('#addContact').click(function() {
$('#toPhoneNumber').val($('#toAdd option:selected').data('number') + '\n');
});
},
答
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'));
});
},
答
随着VAL你可以试试:
selectOption: function() {
var temp = $('#toPhoneNumber').val();
$('#addContact').click(function() {
$('#toPhoneNumber').val(temp + $('#toAdd option:selected').data('number') + '\n');
});
},
正是我在找的!只是一个简单的问题,防止添加同一联系人的次数超过两次的好方法是什么?目前,我可以多次点击该按钮,它会在我的textarea中多次添加该联系人的号码,这不是我想要的。我很抱歉在这里提出另一个问题,你不必回答。赞赏。 – user3128376
其实,我只是意识到这一点,我不能手动输入数字在textarea,因为这不会保存我手动输入的数字。 – user3128376
@ user3128376请参阅更新为愚蠢。如果你想输入你自己,添加'nums = $(“#toPhoneNumber”).val().split(“\ n”);'也许用一个测试来查看在使用nums之前字段中有任何数字 – mplungjan