TOP > Users > ORCA通信アーカイブ > vol.017

 ORCA通信

ORCA通信とはサイズから定期的に発行されるスペック作成のヒントと新規開発されるメニューのご案内です。


 ORCA通信 vol.017(2009/5/15発行)


ORCAユーザーの皆様、こんにちは。
第17回ORCA通信をお届けいたします。

INDEX
[1] 開発情報:1.3.0へのバージョンアップ完了
[2] スペック作成のヒント第十七回:これは使える!JavaScript 見本はこちら

[1] 最新のORCA Editor(1.3.0.2163)をダウンロードしてください

皆様がお使いのサーバーのアップデートが完了いたしました。
最新のバージョンは1.3.0.2163です。
バグ修正されておりますので、トップページから最新のORCA Editorをダウンロードしてお使いください。

作業日時の調整等、ご協力いただきまして誠にありがとうございました。


[2] スペック作成のヒント
第十七回:これは使える!Java Script


何かと使えるJavaScriptですが、難しいし苦手・・・と思う方も多いかと思います。
そこで今回もそのJavaScriptを使った「マトリクス形式の絞込み」をご紹介いたします。
お使いになるときにJavaScript部分を修正するのは基本的にはたったの4箇所ですので簡単にお使いいただけます!!

完成画面はこのような画面です。→こちら

■サンプルスペックの説明

BANK Java Scriptタブに以下を入力します。

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マトリクス(子)- 選択肢となる部分です。


スペックを添付いたしますので是非コピ-してお使いください!!
スペックダウンロード

今回のORCA通信はいかがでしたか。
ご不明な点等がございましたらお気軽にご連絡ください。

『こんな見本スクリプトが欲しい!』というご要望もお待ちしております。
どしどしお寄せください!!
それでは次回もお楽しみに!


  ページトップへ

vol.016へ vol.016へ vol.018へvol.018へ