2012-06-07 3 views
3

Как бы вы добавить в
тег на значение внутри текстового поля, это только добавляет его после нажатия клавиши на SHIFT + ENTER,Добавляет <br/> тега к значению внутри TEXTAREA JQuery

вот мой код, чтобы добавить на текстовой области и не работает?

$('#textarea').append("<br/>"); Я думаю, что все еще что-то не хватает.

DEMO

Спасибо. , ,

+0

'\ n' является символ новой строки; '
' нет. –

ответ

7

Вы действительно хотите разместить символы в значении?

​$("textarea").val(function(i,v){ 
    return v + "<br/>"; 
});​​​​ 

Или просто добавьте новую строку?

​$("textarea").val(function(i,v){ 
    return v + "\nfoo"; 
});​​​​​​​ 

Fiddle: http://jsfiddle.net/jonathansampson/SNeyy/

Если вы хотите, чтобы реагировать только на сдвиг + войти:

$("textarea").on("keypress", function(e){ 
    if (e.which === 13 && e.shiftKey) { 
     $(this).val(function(i,v){ 
      return v + "<br/>"; // or return v + "\n"; (whatever you want) 
     }); 
    } 
});​​​​ 

Fiddle: http://jsfiddle.net/jonathansampson/SNeyy/1/

+1

Это звучало так, будто tom хотел новый символ линии, например, когда вы cntl + вводите его. + 1up для обоих решений. – ToddBFisher

+0

@ToddBFisher, спасибо за просветление хе-хе, yah, который был ватом, я хотел новую строку – tomexsans

+0

@tomexsans Я обновил адрес для запроса 'shift + enter'. – Sampson

4

Вы пытаетесь изменить значение textarea. Чтобы добавить строку «< бр/>» вы должны использовать

$('#textarea').val($('#textarea').val() + '<br/>'); 

и добавить новую строку, вы должны использовать

$('#textarea').val($('#textarea').val() + "\n"); 

Textarea может иметь только текстовый узел в качестве своего ребенка. <textarea><br/></textarea> неверное использование. Если вы хотите добавить строку «< бр/>», HTML-код должен быть

<textarea>&lt;br/&gt;</textarea> 

и добавить новую строку HTML-код должен быть

<textarea> 
</textarea> 

Другими словами, не может<textarea><br/></textarea>

+0

есть ли какой-либо способ, что тег
скрыт в текстовом поле, когда я нажимаю shift, вводится он отображается в текстовом поле – tomexsans

+0

textarea может содержать только текстовый узел. Если вы хотите добавить строку «
» (не фактический разрыв строки), вы можете использовать '$ ('# textarea'). Append ('< br/>')'. Если вы хотите добавить новую строку, вы должны использовать '$ ('# textarea'). Append (" \ n ")'. –

Смежные вопросы