ORCA通信とはサイズから定期的に発行されるスペック作成のヒントと新規開発されるメニューのご案内です。
var input_n = [8,8,3]; | ← | 選択肢数 (1つめから順に設定する分を入力) |
var id_prefix = ["Q33100_","Q33100_","Q33200_"]; | ← | マトリクス親の設問番号 (1つめから順に設定する分を入力) |
var id_suffix = ["xQ33110XN1","xQ33120XN1","xQ33210XN1"]; | ← | マトリクス子の設問番号 (1つめから順に設定する分を入力) |
var dec_num = 0; | ← | 入力桁数 (0→整数、1→小数点第一位、2→小数点第二位・・) ※複数個所で変更できません。 |
var readonly_bgcolor = "#CCCCCC"; | ← | 合計値の背景色 ※複数個所で変更できません。 |
(変更する箇所はこの最初の5行です↑↑) var input_id_array = new Array(); var input_array = new Array(); var total_elem = new Array(); function init_total_elem() { for( var i = 0; i < input_n.length; i++) { var total_id = id_prefix[i] + input_n[i] + id_suffix[i]; total_elem[i] = document.getElementById( total_id ); if( total_elem[i] ) { total_elem[i].readOnly = true; total_elem[i].style.background = readonly_bgcolor; } input_id_array[i] = new Array(); input_array[i] = new Array(); } } function calc_total() { var total = 0; for( var i = 0; i < input_n.length; i++) { total = 0; for( var j = 0; j < input_array[i].length; j++ ) { var num = input_array[i][j].value; if( num != "" && ! isNaN( num ) ) { num = (num - 0).toFixed(dec_num); input_array[i][j].value = num; total -= -num; } } if( total_elem[i] ) { total_elem[i].value = (total - 0).toFixed(dec_num); } } } function init() { init_total_elem(); for( var i = 0; i < input_n.length; i++) { for( var j = 1; j < input_n[i]; j++ ) { var wk_id = id_prefix[i] + j + id_suffix[i]; input_id_array[i].push( wk_id ); } for( var j = 0; j < input_id_array[i].length; j++ ) { var wk_elem = document.getElementById( input_id_array[i][j] ); if( wk_elem ) { wk_elem.onblur = calc_total; input_array[i].push( wk_elem ); } } } calc_total(); } ※BANK設定画面下の onload= の入力欄に init(); を入力します。 |
33100.Q | マトリクス(親)設問 |
---|---|
33110.Q/33120.Q | マトリクス(子)設問 |
33200.Q | マトリクス(親)設問 |
33210.Q | マトリクス(子)設問 |
33251.J | 33110.Qの合計値が100でなかったら33100.Qへバックジャンプします。 |
33252.J | 33120.Qの合計値が100でなかったら33100.Qへバックジャンプします。 |
vol.032へ | vol.034へ |