2010-04-10 14 views
0

我正在做一些非常類似於stackoverflow問題預覽只是更基本。在文本區域如何做新的行? [textarea - > jquery - > p標籤]

用戶類型 - > KEYUP顯示了他們已經輸入了預覽

新線不工作

$('input, textarea').keyup(function(){   
      var value = $(this).attr('value').replace('\n', '<br />').replace('\r', '<br />'); 
      $('p.preview').html(value); 
    }) 

回答

1

你需要的東西是這樣的:

$('input, textarea').keyup(function(){   
    var value = $(this).attr('value').replace(/\n/g,'<br/>').replace(/\r/g,''); 
    $('p.preview').html(value); 
}); 

請注意0​​,您需要替換的次數超過第一次出現次數,並且我們只替換其中一個退貨,因此您不會在textarea/inp的每次預覽中獲得2次預覽UT。

+0

完美! 沒有意識到只更換一個值, 將合併成一個正則表達式 再次感謝! – Haroldo 2010-04-10 12:44:24

0
  1. 中獲取價值的使用jQuery.val()而非jQuery.attr()
  2. 你可以使用CSS屬性white-space: pre-line你想要的這些方法都:

    $("input, textarea").keyup(function() { 
        $("p.preview").html($(this).val()); 
    }); 
    
    p.preview { 
        white-space: pre-line; 
    } 
    
相關問題