質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

Q&A

解決済

1回答

1358閲覧

特定ページのチェックボックスのみチェックを入れたい

ak_matsu

総合スコア1

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Redmine

Redmineは、プロジェクトのタスク管理、進捗管理、情報共有が可能な、 オープンソースプロジェクト管理ソフトウェアです。

0グッド

0クリップ

投稿2021/09/13 08:57

編集2021/09/29 02:09

redmineでチェックボックスを付ける設定を行いその中で
特定の枠内に表示されているチェックボックスのみをチェック入れたい。
対象となるチェックボックス名は都度変わるため、名前を指定させるような処理は向かない。
チェックボックス名ではなく限定された範囲のみチェックを入れて一行完結のブックマークレットにしたい。

自力で出来たものを、要望としてできた処理を以下に貼りますが、
条件分岐が分からず、お粗末な構文となります。

javascript

1 2// 全てのチェックを入れる 3javascript:var nl = document.getElementsByTagName('input');for (var i = 0; i < nl.length; i ++) {var e = nl[i];if (e.type == 'checkbox') {e.checked = true;}}void(0); 4// プライベートのみチェックを外す 5javascript:var nl = document.getElementsByName("issue[is_private]"); for (var i = 0; i < nl.length; i ++) { var e = nl[i]; if (e.type == 'checkbox') { e.checked = false; } } void(0); 6// プライベートコメントのみチェックを外す 7javascript:var nl = document.getElementsByName("issue[private_notes]"); for (var i = 0; i < nl.length; i ++) { var e = nl[i]; if (e.type == 'checkbox') { e.checked = false; } } void(0); 8 9// 参考ページ 10// http://site.m-bsys.com/code/bookmarklet 11// https://www.javadrive.jp/javascript/dom/index3.html 12// https://itsakura.com/js-checkbox

この構文をこのようにコピペしてブックマークとして保存後、対象のwebページ上でブックマーククリックすると
プライベート、プライベートコメントのみチェックを外して、残りのチェックボックスをチェックするという記述となります。

javascript

1javascript:var nl = document.getElementsByTagName('input');for (var i = 0; i < nl.length; i ++) {var e = nl[i];if (e.type == 'checkbox') {e.checked = true;}}void(0);javascript:var nl = document.getElementsByName("issue[is_private]"); for (var i = 0; i < nl.length; i ++) { var e = nl[i]; if (e.type == 'checkbox') { e.checked = false; } } void(0);javascript:var nl = document.getElementsByName("issue[private_notes]"); for (var i = 0; i < nl.length; i ++) { var e = nl[i]; if (e.type == 'checkbox') { e.checked = false; } } void(0);

ご教示のほどよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決しました、
これで要件は満たせました。

javascript

1// 全てのチェックを入れる(プライベート、プライベートコメントを除く) 2javascript:var nl = document.getElementsByTagName('input');for (var i = 0; i < nl.length; i ++) {var e = nl[i];if (e.type == 'checkbox') {e.checked = true;}}var nl = document.querySelectorAll('[name="issue[is_private]"], [name="issue[private_notes]"]');for (var i = 0; i < nl.length; i ++) {var e = nl[i];if (e.type == 'checkbox') {e.checked = false;}}void(0);

投稿2021/09/29 02:10

ak_matsu

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問