====== set selectedIndex value for dynamic drop-down list ====== 動的に作成された**select object**のoptionを設定する方法を紹介する。\\ 大まかに、動的にリストを作成する部分とoptionの値を設定する部分の二に分けて説明する。\\ 今回の例ではjavascript libraryの**dojo((現在、最新のバージョンは1.4である。))**frameworkを利用した。\\ ちなみに、テストは**Internet Explorer(以下IE)**7,8と**%%FireFox%%(以下FF)**3で行われた。\\ まず、動的にoptionリストを作成する部分だが、コードの一部分を次に示す。 function createOpt(label, value){ var opt=document.createElement('option'); opt.appendChild(document.createTextNode(label)); opt.setAttribute('value',value); return opt; } ここで、labelはoptionのテキストで、valueはoptionの値である。 次にoptionの値を設定する部分だが、ブラウザごとに実装が違うので確認する必要がある。 IE7とFF3だと次のコードが有効である。 function setVals(obj, value){ for(var i=0; i ここで、objはselect object,valueは設定されるoptionの値である。 しかし、**IE6**だと場合によっては上記のコードが駄目になることがある。\\ 確実な方法としてはdrop-downリストを作成する際に、値を設定することがある。 そのコードを次に示す。 function createOpt(label, value, val){ var opt=document.createElement('option'); opt.appendChild(document.createTextNode(label)); opt.setAttribute('value',value); if(value==val) opt.setAttribute("selected", "true"); return opt; } {{keywords>set selectedIndex Select Object drop-down list dojo}} ===== source code ===== 今回のテストで使ったソースコードを次に示す。 ===== Test page ===== テストする為にページをrefreshしてください。 ~~DISCUSSION~~