使用jQuery动态更改段落文本?

时间:2010-08-09 15:44:05

标签: jquery text preview

我想将输入的信息输入到文本字段中,并将其显示在页面上其他位置的段落中。基本上,正好在下面发生了什么,因为我输入了这个(去发一个问题并开始在主文本框中输入,你就会看到我的意思)。

知道怎么做吗?该页面上有很多JavaScript,我找不到它们是如何做到的。

3 个答案:

答案 0 :(得分:54)

I think you are looking for this.

以下是您的html的外观:

<textarea id="txt" style="width:600px; height:200px;"></textarea>
<p id="preview"></p>

和jQuery:

$(function(){
  $('#txt').keyup(function(){
     $('#preview').text($(this).val());
  });
});

这会在textarea事件中获取keyup的值,稍后会将段落的文本更改为text()方法textarea $(this).val()

答案 1 :(得分:0)

我会使用像keyup这样的东西,并在每次释放一个键时更新显示。如果有人在框中粘贴了某些内容,您可能还需要处理更改事件。

<div id="container">
<textarea id="textfield"></textarea>
<p id="displayArea"></p>
</div>

<script type="text/javascript">
    var display = $('#displayArea');
    $('#textfield').keyup( function() {
       display.text( $(this).val() );
    }).change( function() {
       display.text( $(this).val() );
    });
</script>

此外,您可以查看WMD editor,这是SO使用的内容。它比你要求的更多,但你可以从中获得一些想法。

答案 2 :(得分:0)

这是一个应该起作用的例子 -


<html>
<head>
 <style>
 #typing{background-color:;}
 #display{background-color:#FFEFC6;}
 </style>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
</head>
<body>
 <div id="typing">
  <input type="text" name="typing" value="" id="typing_input" style="height:100px;width:300px;">

  </input>
 </div>
 <div id="display">
  <p id="typing_display"></p>
 </div>

 <script type="text/javascript" charset="utf-8">

   $(document).ready(function()
   {
    $('#typing_input').bind("keypress keydown", function(event) {
     $('#typing_display').text($('#typing_input').attr("value"));
    });

   });
 </script>
</body>
</html>

对不起额外的款式 - 不能帮助自己。 Jquery的.change()不会改变,直到触发了不同的事件,.live()和.bind()才是你想要的。还有.attr(“值”)部分,有时会做一些我不完全理解的额外魔法 - 但它确实保持最新状态。祝你好运!