2012-03-09 15 views
1

を変更せずにこれを使用する:私はHTMLを変更することはできませんは、新しい入力を追加し、私が唯一持っているHTML

<div> 
    <textarea id="names"></textarea> 
</div> 

を。私はjQueryだけを使うことができます。ページがロードされ、唯一でなければなりません準備ができている場合

<input type="checkbox" id="yes"> 
<div style="display:none"> 
    <textarea id="names"></textarea> 
</div> 

$("#yes").click(function(){ 
    $("#names").parent().show(); 
}) 

デフォルト:

<input type="checkbox" id="yes"> 

私は、これはその後、私は、テキストエリアにDIVを示してチェックした場合のようなものを作ることは可能です。

HTMLを変更せずにmakeすることはできますか?はいの場合、どうですか?

FIDDLE:http://jsfiddle.net/2ZMQz/

答えて

3
var checkbox = $('<input type="checkbox">'); 
var parent = $('#names').parent().hide().before(checkbox); 

checkbox.click(function() { 
    parent.toggle(); 
}); 

http://jsfiddle.net/2ZMQz/14/

+0

あなたは – MMM

+0

おかげで、チェックボックスにIDを逃しているが、それはこの例では必要ありません。 – binarious

+0

ありがとう、なぜこのテキストを追加できないのですか? http://jsfiddle.net/2ZMQz/16/ –

1

あなたはトグル代わりのショー

を使用して、チェックボックスの機能を向上させることができ、次の

$("#names").parent().hide().before('<input type="checkbox" id="yes" />'); 

をお試しください

$("#yes").click(function(){ 
    $("#names").parent().toggle(); 
}) 

名前が示すように、可視性を切り替えるので、チェックボックスをオフにすると、コンテンツは非表示になります。

http://jsfiddle.net/2ZMQz/7/

+0

'#yes'がチェックされていると、テキストエリアが隠されています – binarious

+0

ありがとう、私はそれを隠すのを忘れました。 – MMM

+0

+1。同じコードで私にそれを打つ、私のフィドル[編集]を持っているかもしれません。 –

0

はい、あなたがこれを行うことができます。

$("#names").parent().hide().before('<input type="checkbox" id="yes">'); 

$("#yes").click(function() { 
    if ($(this).is(':checked')) { 
     $("#names").parent().show(); 
    } else { 
     $("#names").parent().hide();  
    }}); 

http://jsfiddle.net/2ZMQz/15/

+0

ありがとうございますが、どうすれば自分のテキストを追加できますか? http://jsfiddle.net/2ZMQz/18/ –

関連する問題