での作業がチェック、以下のコンソール出力を検査第一の入力が属性を確認しており、選択されていることに注意してください:はjQueryの:初期(HTML属性)ラジオ入力
あなたは、私は2を持って見ることができますラジオinput
s、1はchecked
ですが、セレクタもprop
でもis
でもありません。ラジオの1つを手動でクリックすると、コードが正しく機能します。ここに私のHTMLがあります:
<div class="col-sm-6">
Type:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-default active">
<input type="radio" name="generator-type" id="opt-type-passphrase" value="0" autocomplete="off" checked>
Passphrase
</label>
<label class="btn btn-default">
<input type="radio" name="generator-type" id="opt-type-password" value="1" autocomplete="off">
Password
</label>
</div>
</div>
私はラジオをクリックしていないときにページが読み込まれるときにコードが機能しないのはなぜですか?それを修正する方法はありますか?
EDIT:問題を見つけ、私は、ページの読み込みにこのコードを持っている:
$("input[name='generator-type'][value=" + this.Options.Type + "]").prop("checked", "");
正しい解が使用している:
.prop("checked", true)
をしかし、誰もが、それはどのように機能するかを説明してくださいできますか?なぜchecked
属性がありますが、prop
の機能はまだfalseですか?
@HectorBarbossaありがとう、私は問題の原因を見つけましたが、まだ 'prop'と' is'がどのように動作しているのかまだ分かりません。あなたはそれを説明できますか? –
動作方法に関するご質問は、[ドキュメント](http://api.jquery.com/prop/)に記載されています。把握する重要な側面:HTML属性は、プロパティの*初期値のみを設定します。コードまたはユーザー操作を介して変更された場合、HTMLは変更されませんが、プロパティは変更されます。 –