解決したのでソースを載せておきます。
各フォーム部品の要素はclassではなくidから参照するのを前提で汎用的に書いてみました。
皆さん回答ありがとうございました。
HTML
1<form name="edit_form">
2 <input type="text" id="pulse_space_min" class="textbox Hop_textbox_width" tabindex="14"/>
3 <input type="text" id="pulse_space_max" class="textbox Hop_textbox_width" tabindex="15"/>
4 <input type="text" id="xxx1_space_min" class="textbox Hop_textbox_width" tabindex="14"/>
5 <input type="text" id="xxx1_space_max" class="textbox Hop_textbox_width" tabindex="15"/>
6 <input type="text" id="xxx2_space_min" class="textbox Hop_textbox_width" tabindex="14"/>
7 <input type="text" id="xxx2_space_max" class="textbox Hop_textbox_width" tabindex="15"/>
8</form>
JavaScript
1
2"use strict";
3
4
5$(document).ready(function() {
6
7 //var screenMode = getSharedData("screenMode");
8 var screenMode = 0;//テスト値(0 = パルススペース間隔以外のフォーム部品を無効、1=パルススペース間隔のみ無効)
9
10 startEditMode(screenMode);
11
12});
13
14
15//モードによって画面の表示切り替えを行う関数(特定の要素が有効であれば他の全ての要素を無効)
16function startEditMode(screenMode) {
17
18 //ページ読み込み時に有効/無効にしたい要素を設定する配列
19 var targetElmAry = ["pulse_space_min", "pulse_space_max"];
20 var targetBool = screenMode === 0 ? true : false;//モードによって切り替え
21 var len = document.edit_form.length;
22
23 for (var i = 0; i < len; i++) {
24 var elm = document.edit_form[i];
25 var id = elm.getAttribute("id");
26
27 switch(elm.type) {
28 case "text" :
29 elm.disabled = editJudgment(targetElmAry, id, targetBool); break;
30 case "checkbox" :
31 elm.disabled = editJudgment(targetElmAry, id, targetBool); break;
32 case "select-one" :
33 elm.disabled = editJudgment(targetElmAry, id, targetBool); break;
34 }
35 }
36}
37
38//各フォームが有効か無効か判断 (ターゲットのフォーム要素名配列, 判定対象の要素名(id), ターゲットのフォーム要素を有効/無効かを判断する値)
39function editJudgment(targetElmAry, elmId, targetBool) {
40 var targetFlg = false;
41 for (var i = 0; i < targetElmAry.length; i++) {
42 var targetElmName = targetElmAry[i];
43
44 targetFlg = (targetElmName === elmId);
45 if (targetFlg) return targetBool;
46 }
47
48 //ターゲット要素では無い場合
49 if (!targetFlg) return !targetBool;//ターゲット要素が有効であれば無効、無効であれば有効にする
50}
51