特定の文字が入った要素を変数に代入したい
当サイトのリニューアル作業に時間をあてるため、掲示板の投稿は当分停止させていただきます。
この構造の時回答を自動入力する方法ありますか?
IDやclass名は変わる可能性があります
IDやclass名は変わる可能性があります
<table class="categories" style=" width:500px; ">
<tbody>
<tr>
<td class="input_sp">
<div class="height_sp">
<span class="category_sp">
<input id="sc1-1" type="radio" name="sc1" value="1">
</span>
<label for="sc1-1" class="label_sp" onclick="">男性</label>
</div>
</td>
</tr>
<tr>
<td class="input_sp">
<div class="height_sp">
<span class="category_sp">
<input id="sc1-2" type="radio" name="sc1" value="2">
</span>
<label for="sc1-2" class="label_sp" onclick="">女性</label>
</div>
</td>
</tr>
</tbody>
</table>
<tbody>
<tr>
<td class="input_sp">
<div class="height_sp">
<span class="category_sp">
<input id="sc1-1" type="radio" name="sc1" value="1">
</span>
<label for="sc1-1" class="label_sp" onclick="">男性</label>
</div>
</td>
</tr>
<tr>
<td class="input_sp">
<div class="height_sp">
<span class="category_sp">
<input id="sc1-2" type="radio" name="sc1" value="2">
</span>
<label for="sc1-2" class="label_sp" onclick="">女性</label>
</div>
</td>
</tr>
</tbody>
</table>
Jim さん
09月15日 22時47分
Jimさん、こんにちは。
「回答を自動入力」というのは、男性もしくは女性のラジオボタンに初期でチェックを入れるということでしょうか?
それとも、ラジオボタンを選択した時に、value値をJavaScriptで変数に代入(男性なら1)するということでしょうか?
よくわからなかったので確認です。
また、jQuery使用・不使用など条件があればお願いします。
「回答を自動入力」というのは、男性もしくは女性のラジオボタンに初期でチェックを入れるということでしょうか?
それとも、ラジオボタンを選択した時に、value値をJavaScriptで変数に代入(男性なら1)するということでしょうか?
よくわからなかったので確認です。
また、jQuery使用・不使用など条件があればお願いします。
馬場誠 さん
09月16日 07時46分
馬場誠さん、返信ありがとうございます。
前もって値を決めておきアンケートにおいて最初からチェックした状態にしたいです(前者)
jQueryは詳しくないですが使用不可能な環境ではないです。
前もって値を決めておきアンケートにおいて最初からチェックした状態にしたいです(前者)
jQueryは詳しくないですが使用不可能な環境ではないです。
Jim さん
09月17日 17時49分
Jimさん、こんばんは。
タイトルから深読みしてしまったようで失礼しました。
前者でしたらJavaScriptを使わずに、checkedで対応するのが良さそうです。
チェックを付けたいinput要素(ラジオボタン)に、
を追加するだけで、最初からチェック可能です。
(例:男性にチェックを付ける場合
ちなみにHTML5などであれば、checkedと省略しても問題ありません。
(例:上記を省略した記法にした場合
タイトルから深読みしてしまったようで失礼しました。
前者でしたらJavaScriptを使わずに、checkedで対応するのが良さそうです。
チェックを付けたいinput要素(ラジオボタン)に、
checked="checked"
を追加するだけで、最初からチェック可能です。
(例:男性にチェックを付ける場合
<input id="sc1-1" type="radio" name="sc1" value="1" checked="checked">
ちなみにHTML5などであれば、checkedと省略しても問題ありません。
(例:上記を省略した記法にした場合
<input id="sc1-1" type="radio" name="sc1" value="1" checked>
馬場誠 さん
09月17日 18時45分
「自動入力」と書いているあたり、
拡張機能か何かでサイトを編集し
入力の手間を減らしたいんだと思います。
簡単な例として性別のラジオボタンが出ただけで。
どうでしょうか?あってますか?
拡張機能か何かでサイトを編集し
入力の手間を減らしたいんだと思います。
簡単な例として性別のラジオボタンが出ただけで。
どうでしょうか?あってますか?
通りすがりのV さん
09月17日 21時40分
かなり日が空きましたすみません
はいそうです
> 「自動入力」と書いているあたり、
> 拡張機能か何かでサイトを編集し
> 入力の手間を減らしたいんだと思います。
> 簡単な例として性別のラジオボタンが出ただけで。
> どうでしょうか?あってますか?
はいそうです
Jim さん
10月03日 22時49分
すみません、もう少し詳しく現在の状況や環境を書いていただけますか?(できればタイトルの意図も)
また、意図した機能を実装しようとした途中経過(やってみたこと)も併せてご記載いただけますと幸いです。
また、意図した機能を実装しようとした途中経過(やってみたこと)も併せてご記載いただけますと幸いです。
馬場誠 さん
10月04日 07時55分
IDからタグの中身はgetElementByIdによって取得できます
ですが、今回したいのは中身からfor属性を検索し
そこからID検索を使いラジオボタンを選択します。
ですが、今回したいのは中身からfor属性を検索し
そこからID検索を使いラジオボタンを選択します。
Jim さん
10月08日 23時19分
よくわからないままですが、書かれたことに対してお答えします。
単純に以下でよろしいでしょうか。
・for属性を検索
・for属性の値と同じIDのラジオボタンを取得&選択
jQueryが使用不可能ではないとのことで、それを使えば比較的簡単に実装できます。
jQueryをHTML内で読み込んだ上で、ラジオボタンよりも後に以下を記載します。
このコードが最適かはさておき、先ほどの言葉通りの動作です。
具体的には、全てのfor属性のIDに対応するラジオボタンにチェックの処理が走ります。
ただ、ラジオボタンは同一ラジオグループで1つしか選択できないので、結果的に最後のfor属性に対応するラジオボタンだけにチェックが残ります(今回の場合女性)。
このままでは使えないと思いますが、後はどういう仕様にされたいかで改造すれば良いと思います。
HTMLの書かれ方によっても変わりますが、最初だけチェックするようなこともできるはずですので、ご自身で試行錯誤してみてください。
単純に以下でよろしいでしょうか。
・for属性を検索
・for属性の値と同じIDのラジオボタンを取得&選択
jQueryが使用不可能ではないとのことで、それを使えば比較的簡単に実装できます。
jQueryをHTML内で読み込んだ上で、ラジオボタンよりも後に以下を記載します。
<script>
// label要素でfor属性を持っている要素を対象に繰り返し処理
$('label[for]').each(function(index, element) {
// elementのfor属性からidを取得
var id = $(element).attr('for');
console.log(id);
// idからラジオボタンを選択する
$('#' + id).attr('checked', true);
})
</script>
// label要素でfor属性を持っている要素を対象に繰り返し処理
$('label[for]').each(function(index, element) {
// elementのfor属性からidを取得
var id = $(element).attr('for');
console.log(id);
// idからラジオボタンを選択する
$('#' + id).attr('checked', true);
})
</script>
このコードが最適かはさておき、先ほどの言葉通りの動作です。
具体的には、全てのfor属性のIDに対応するラジオボタンにチェックの処理が走ります。
ただ、ラジオボタンは同一ラジオグループで1つしか選択できないので、結果的に最後のfor属性に対応するラジオボタンだけにチェックが残ります(今回の場合女性)。
このままでは使えないと思いますが、後はどういう仕様にされたいかで改造すれば良いと思います。
HTMLの書かれ方によっても変わりますが、最初だけチェックするようなこともできるはずですので、ご自身で試行錯誤してみてください。
馬場誠 さん
10月09日 19時06分