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);
ご教示のほどよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。