ORCA通信とはサイズから定期的に発行されるスペック作成のヒントと新規開発されるメニューのご案内です。
var parent_n = 2; | ← | マトリクス(親)の選択肢数(設問数) |
var child_n = 7; | ← | マトリクス(子)の選択肢数 |
var id_prefix = "Q17000_" | ← | マトリクス(親)の設問番号 |
var id_suffix = "xQ17010XC"; | ← | マトリクス(子)の設問番号 |
(変更する箇所はこの最初の4行です↑↑) var relation_array = new Array(); var elem_array = new Array(); function input_control() { for( id1 in relation_array ) { if( id1 in elem_array ) { var elem1 = elem_array[id1]; var chk = elem1.checked; for( id2 in relation_array[id1] ) { if( id2 in elem_array ) { var elem2 = elem_array[id2]; elem2.disabled = !chk; if( elem2.disabled ) { elem2.checked = false; } } } } } } function init_relation() { for( var i = 1; i < parent_n; i++ ) { for( var j = 1; j <= child_n; j++ ) { var wk_elem1; var wk_elem2; var wk_id1 = id_prefix + i + id_suffix + j; var wk_id2 = id_prefix + ( i + 1 ) + id_suffix + j; if( ! ( wk_id1 in elem_array ) ) { wk_elem1 = document.getElementById( wk_id1 ); if( wk_elem1 ) { elem_array[wk_id1] = wk_elem1; } } if( ! ( wk_id2 in elem_array ) ) { wk_elem2 = document.getElementById( wk_id2 ); if( wk_elem2 ) { elem_array[wk_id2] = wk_elem2; } } if( ! ( wk_id1 in relation_array ) ) { relation_array[wk_id1] = new Array(); } relation_array[wk_id1][wk_id2] = wk_elem2; } } } function init_event() { for( id in elem_array ) { elem_array[id].onclick = input_control; } } function init() { init_relation(); init_event(); input_control(); } ※ onload=の入力欄に init(); を入力します。 |
サンプルスペック | 説明 |
---|---|
17000.Q | マトリクス(親)- 設問となる部分です。 |
17010.Q | マトリクス(子)- 選択肢となる部分です。 |
vol.016へ | vol.018へ |