[解決済み] jQueryでラジオボタンをリセットして、何もチェックされないようにする方法
質問
HTMLでこのようなラジオボタンがあります。
<td>
<input id="radio1" type="radio" name="correctAnswer" value="1">1</input>
<input id="radio2" type="radio" name="correctAnswer" value="2">2</input>
<input id="radio3" type="radio" name="correctAnswer" value="3">3</input>
<input id="radio4" type="radio" name="correctAnswer" value="4">4</input>
</td>
これはフォームタグの中にあるのですが、ユーザーがフォームを送信したときに、すべてのラジオボタンをデフォルトに戻したいと思っています。つまり、どれにもチェックが入っていない状態です。
私はこのコードを持っていますが、それは次のようなエラーを出します。
[0] is null or not an object
$('input[@name="correctAnswer"]')[0].checked = false;
$('input[@name="correctAnswer"]')[1].checked = false;
$('input[@name="correctAnswer"]')[2].checked = false;
$('input[@name="correctAnswer"]')[3].checked = false;
IE6でやっています。
どのように解決するのですか?
jQuery 1.6以前のバージョンで使用します。
$('input[name="correctAnswer"]').attr('checked', false);
jQueryの1.6以降のバージョンでは、使用する必要があります。
$('input[name="correctAnswer"]').prop('checked', false);
を使うことができますが、1.6.1+を使用している場合は、最初の形式を使うことができます(以下の注2を参照)。
注1: は、2番目の引数が 偽 であって false"です。 ということは "false"です。 はファルシーな値ではありません。
if ("false") {
alert("Truthy value. You will see an alert");
}
注2:
jQuery 1.6.0から、同様のメソッドが2つ存在するようになりました。
.attr
と
.prop
という2つの関連する、しかし少し異なることを行うものです。この特定のケースでは、1.6.1+を使用している場合、上記のアドバイスが機能します。1.6.0を使用している場合は、アップグレードする必要があります。もし、詳細を知りたいのであれば、読み続けてください。
詳細です。
ストレートな HTML DOM 要素を扱う場合、DOM 要素に付随するプロパティ (
checked
,
type
,
value
など)は、HTMLページの実行状態へのインタフェースを提供します。また
.getAttribute
/
.setAttribute
インタフェースは、HTML で提供される HTML Attribute の値へのアクセスを提供します。1.6以前のjQueryでは、1つのメソッドを提供することで区別をぼやかしていました。
.attr
という1つのメソッドで両方のタイプの値にアクセスできるため、区別があいまいでした。jQuery 1.6+では2つのメソッドを提供しています。
.attr
と
.prop
を使うことで、これらの状況を区別することができます。
.prop
は DOM 要素にプロパティを設定するのに対し
.attr
は HTML 属性の値を設定します。プレーンなDOMを扱う場合で、checkedプロパティを設定する場合。
elem.checked
になります。
true
または
false
で、実行値 (ユーザが見るもの) を変更し、返される値はページ上の状態を追跡します。
elem.getAttribute('checked')
は初期状態のみを返します。
'checked'
または
undefined
で、HTMLからの初期状態に依存する)。1.6.1+ では
.attr('checked', false)
を使うと
elem.removeAttribute('checked')
と
elem.checked = false
に変更した場合、後方互換性の問題が多く発生し、HTML 属性を設定したいのか DOM プロパティを設定したいのかが分からなくなるため、このようにしました。より詳しい情報は
のドキュメントを参照してください。
.
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] HTMLのチェックボックスのchecked属性の適切な値は何ですか?
-
[解決済み] GoogleのCDNからjQuery UI CSSをダウンロードする
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】チェックボックスがチェックされているかどうかをjQueryで確認する。
-
[解決済み】jQueryのテンプレートエンジン【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Uncaught TypeError: 未定義のプロパティ 'length' を読み取れませんでした。
-
[解決済み] jQuery データ属性の値に基づいて要素を検索する方法は?
-
[解決済み] jQuery select onChangeの値を取得する。
-
[解決済み] Select <a> which href ends with some string
-
[解決済み] チェックボックスのチェック/アンチェックは、jqueryを使用していますか?重複
-
[解決済み] jQueryでPUT/DELETEリクエストを送信する方法は?
-
[解決済み] jQuery UI DatePicker - 日付フォーマットの変更
-
[解決済み] jQueryの複数要素の同一クリックイベント
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み】$(window).width()がメディアクエリとは違う