2011-07-12 15 views
24

jQueryを使用して読み取り専用のプロパティを持つHTMLテキストボックスの値を変更するにはどうすればよいですか?jQueryを使って読み取り専用のテキストボックスの値を変更するには?

+0

なぜdownvote?合理的な、もし簡潔であれば、質問されます。 –

+0

何度も前に尋ねられた(彼が投稿する前に検索しなかったことを意味する)、私はそれをグーグルで10秒後に解くことができた。 – Phil

+16

@Philそれは面白いです。私がそれをgoogledしたとき、私はこのページを手に入れました。 –

答えて

16

お待ちください、読み取り専用を削除しますか?その場合:

$('textbox').removeAttr('readonly').val('Changed Value'); 

いない場合:

$('textbox').val('Changed Value'); 
+1

現在のバージョンのjQueryでは、.removeAttr( 'readonly')の代わりに '.prop( 'readonly'、false)'を使用するほうが良いかもしれません。 – Blazemonger

12
$('my-textbox').val('new value') 

読み取り専用のプロパティは、ページではなく、アクセスJavaScriptを閲覧するユーザに適用されます。それ

3

例えば

$('#my-textbox').val('new value'); 

を# を書くことを忘れてはいけないと多分あなたはすべての後に続いて て行くことができる代わりに、「

+3

これは3つの既存の回答に何が追加されますか? – Sumurai8

0

」の「」を使用してみてくださいすることを忘れないでください古い投稿ですが、ここにいくつかの情報があります。 uは(IDテストで)読み取り専用の入力を持っている場合

は、あなただけのjqueryの

$('#test').val(100); 

ヴァルを設定していますが、ブラウザでHTMLソースコードを調べて、最近入力された値を更新し、あなたの中で検索した場合、あなたは値が空であることを見るでしょう。

<input type="text" id="test" value /> 

ので、これを防ぐために、あなたは前の入力に値を設定し、再度trueに読み取り専用に設定読み取り専用atribute削除する必要があります。

$('#test').prop('readonly',false); 
$('#test').val(100); 
$('#test').prop('readonly',true); 

とhtml

<input type="text" id="test" value="100" /> 

uは、フォームの値を送信する必要がある場合、これはエラーを防ぐために結果...

関連する問題