2012-04-14 11 views
2
$(document).ready(function() { 
     $('#test').click(function(){ 
      videofix(); 
     }); 
    } 
    function videofix(){ 
     $('#article').text($('#article').val().replace(/\[video\](http:\/\/(www\.)?youtube\.com\/watch\?v=([a-zA-Z0-9]+))\[\/video]/g,'[video=youtube;$3]$1[/video]')); 
    } 
      </script> 
    <textarea id="article" name="article"></textarea><br> 
    <input type="button" id="test" value="test"> 

私の問題は基本的には、呼び出されたときにvideofix関数が働いても、textareaのテキストを置き換えないことです。実際に私のコードをjsfiddleにコピーしてそこで試してみると、うまくいきました。だから私は何が起こっているのか分からない。jQuery .html()はテキスト領域の値を設定しません

答えて

7

値をtextareaに設定するには、html()の代わりにval()メソッドを使用する必要があります。

$("#article").val("something"); 
+0

おかげで、。 – Renari

2

あなたのコードに表示されている唯一のテキストエリアは、id="article"です。そして、私が見る限り、それは.html()を使って値を決して決して決してしません。

の.html()が動作しない場合はとにかく、多分代わりにこれを試してください:jsfiddleコピーはしかし働き、実際のものはなかったという奇妙な仕事を

$("#article").empty().append(data); 
関連する問題