- ベストアンサー
リストボックス内の重複したものを削除
初心者です。 リストボックス内で A--- B--- C--- D--- E--- B--- F--- C--- という行数で表示しているものを onclickで重複しているBとCとの行数を消したいのですが どうすればいいのでしょうか? 消すものは6、8行目のBとCです。 実際は行がもっと多いので for文で上から見て消していくというようにしたいです。 困ってます。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちはmikaninuさん、xruzです。 こんな感じでよかったでしょうか? (Ie5.5sp2、NN4.75、NN6.1動作確認済み) <html> <head> <title>select001</title> </head> <script Language="JavaScript"> <!-- function lstClear() { var optValue=new Array(); var optIndex=""; var j=0; with(document.frm.sel) { for(var i=0;i<options.length;i++) { if(optIndex.indexOf(options[i].text,0)==(-1)) { optValue[j++]=options[i]; optIndex=optIndex+"\t"+options[i].text; } } options.length=optValue.length; for(var i=0;i<optValue.length;i++) { options[i].text=optValue[i].text; options[i].value=optValue[i].value; } } } //--> </script> <body> <form method="post" name="frm"> <select name="sel" size="1"> <option value="a">a--- <option value="b">b--- <option value="c">c--- <option value="d">d--- <option value="e">e--- <option value="b">b--- <option value="f">f--- <option value="c">c--- </select> <input type="button" value="Restruct" onClick="lstClear();"> </form> </body> </html> がんばってくださいね。
お礼
ありがとうございました。 これでやってみます。