2011-08-13 11 views
4

私は隠すことができるHTMLテキストフィールドを持っています。Jqueryを使用してhtml入力テキストフィールドの内容をクリアする方法

隠すときに、テキストフィールドをクリアします。

これを使用しても機能しません。

$('#id').val("");

そして私も$('#id').text("");を試してみました。

テキストフィールド全体が削除されました。

+3

'$( '#IDは')ヴァル( '');'作品。私はフィドルを作ることを怠惰にするが、私を信頼する - それは動作する! ':)' –

+1

動作しないコードを投稿してください。 –

+3

ああ、なんてこった...ここ:http://jsfiddle.net/RahKR/1/ –

答えて

1

TheTextFieldが入力フィールドのIDであるとすると、これは問題なく動作します。とにかく

$('#TheTextField').val(""); 
$('#TheTextField').hide(); 

あなたは放火犯を使用していると隠しながら、あなたが入力フィールドを見れば、あなたはそれが本当にありませんが、あなたは再びそれを表示するときに、value属性がまだ値を持っていることがわかります。あなたは放火魔で見ているものとは対照的に、それがブラウザに表示さ

$('#TheTextField').val(""); 
$('#TheTextField').hide(); 
$('#TheTextField').show(); 

入力フィールドを見るように、それはもう値はありません。

2

他に何があなたのコードで起こっている...これは私のために動作しますので...

<input id="id"> 
<input id="clear" type="button" value="Clear"> 

$('#clear').click(function(){ 
    $('#id').val('');  
}); 

の作業例:http://jsfiddle.net/jasongennaro/xrxU8/

8

は、これは正しいです:

$('#id').val(''); 

しかし、あなたのパート2は面白いです。

$('#id').text(""); 

あなたが記述している動作を作成してはいけません。 <input>ではなく、親オブジェクトを参照していると思います。

+0

そうだよ、その理由はおそらく... –

+0

+1は一重引用符を使うからです。 – Nathan

1

これを試してください:

$('#id').attr("value",""); 
+0

これはなぜうまくいくのでしょうか? –

関連する問題