さて、これは初心者からの非常に具体的な質問ですので、私に同行してください。1行のjavascript(jQueryなし)を使用してIDのないラジオボタンを確認するにはどうすればよいですか?
私はロープを学ぶだけの初心者です。背景は次のとおりです(気にしない場合は次のパラにスキップしてください):私は最初のアンドロイドアプリをアップデートしています。私はMIT App Inventor 2を使っています。 WYSIWYGのスクリーンエディタとBlocklyを使用して行動、インタラクションなどを作成する無料のツールです。私が作成しているアプリは、フォームを使って特定のウェブページを読み込んで、あなたのフォームの大半を埋めます(具体的には、人々は劇場ショーのためのオンラインチケット抽選に入る)。このページは自分のものではないので、HTMLを編集することはできません。しかし、私はそれを上にJavaスクリプトを実行することができます1行のjavascriptコードをブロックする側のApp Inventorにプラグインします。 Here's a relevant example of how it looks.
getElementByID()を使用してほとんどのフォームを記入する方法を知りました。しかし、idを持たないラジオボタンのセットがあります。
document.querySelector('input[name=tickets]').checked = true;
しかし、もちろんのことは、最初のラジオボタンを選択します。
<div id="cont_id_tickets">
<div>
<input type="radio" name="tickets" value="1" />
<span style="font-family:Times New Roman; font-size:15px;">1</span>
</div>
<div>
<input type="radio" name="tickets" value="2" />
<span style="font-family:Times New Roman; font-size:15px;">2</span>
</div>
<div id="required_info_tickets" class="requiredInfo floatLeft">
</div>
<input type="hidden" name="reqField" value="tickets" alt="Radio" req="true" errorMsg="Please enter a valid value." requredErrorMsg="This field is required. Please enter a value."
patternID="0" customRegex="" />
</div>
私は次を使用して、いくつかの進歩を遂げてきました。ここではHTMLの軽く修正版は、(私が編集できない)です。私は値(1または2)を取得し、それに応じて適切なボタンを選択できるようにしたいと思います。私が使用しているBlocklyバックエンドでは、javascriptの行にプラグインする変数を定義できますが、javascriptの行は本質的に1行でなければなりません。私は値が例えば2になりたい場合は、次のいずれかが働くだろう期待していた。
document.querySelector('input[name=tickets][value=2]').checked = true;
document.querySelector('input[name=tickets]').2.checked = true;
しかし、どちらもありません。正しい構文に関するアイデア?
ありがとうございました!
[ここに私がしてきたJSFiddleですテストのために使用する](https://jsfiddle.net/adu1r2j3/)を参考にしてください。 – JPTiger
FYI - AppInventorは、スクラッチではなく[Blockly](https://developers.google.com/blockly/)を使用しています。質問文を更新しました。 – Anm