発言者: moon
発言日: 2003 08/30 01:15
> javascriptはよくわかりませんが、やってみます。
> ありがとうございました。
サンプル@JavaScript初心者の落書き(それでも、IE6.0SP1とMozilla1.4で動作確認済み)
<html>
<head>
<script language=JavaScript1.2>
<!--
function SortRegex(num){
var i, j;
var obj = document.getElementById("test");
var obj1, obj2;
var str1, str2;
var re = new RegExp("(\\d{4}):(.+)\\((.+)\\)");
var ar;
var revflag = !document.getElementById("reverse").checked;
if(num < 1){
num = 1;
}
else if(num > 3){
num = 3;
}
for(i = 1; i < obj.length; i++){
if((ar = re.exec(obj.options[i].text)).length == 0){
alert("正規表現にマッチしませんでした。(1)");
return;
}
str1 = ar[num];
for(j = 0; j <= i; j++){
if((ar = re.exec(obj.options[j].text)).length == 0){
alert("正規表現にマッチしませんでした。(2)");
return;
}
str2 = ar[num];
if(i != j && (revflag && str1 <= str2 || !revflag && str1 >= str2)){
obj1 = obj.options[i];
obj2 = obj.options[j];
obj.insertBefore(obj1, obj2);
j = i;
}
}
}
obj.selectedIndex = 0;
}
//-->
</script>
</head>
<body>
<select id="test">
<option value="opt1">0005:名前3(職業a)
<option value="opt2">0004:名前2(職業b)
<option value="opt3">0001:名前1(職業c)
<option value="opt4">0003:名前0(職業z)
<option value="opt5">0006:名前4(職業y)
<option value="opt6">0000:名前5(職業x)
<option value="opt7">0002:名前6(職業w)
</select><br>
<input type="button" value="ID順" onClick="SortRegex(1)"><br>
<input type="button" value="名前順" onClick="SortRegex(2)"><br>
<input type="button" value="職業順" onClick="SortRegex(3)"><br>
<input type="checkbox" id="reverse">降順
</body>
</html>
▼関連発言
│
└◆753:ID順 [masaki] 08/27 10:44
└◆754:Re:ID順 [moon] 08/27 20:19
└◆756:Re[2]:ID順 [masaki] 08/28 08:33
└◆757:Re[3]:ID順 [moon] 08/28 20:19
└◆758:Re[4]:ID順 [masaki] 08/29 17:44
└◆759:サンプルHTML [moon] 08/30 01:15
├◆761:Re:サンプルHTML [masaki] 08/30 16:00
│└◆762:サンプルHTML(改) [moon] 08/30 17:32
│ └◆763:Re:サンプルHTML(改) [masaki] 08/31 19:01
│ └◆764:Re[2]:サンプルHTML(改) [moon] 08/31 19:09
│ └◆765:Re[3]:サンプルHTML(改) [masaki] 09/01 17:58
│ └◆766:Re[4]:サンプルHTML(改) [moon] 09/01 21:57
│ └◆767:Re[5]:サンプルHTML(改) [masaki] 09/02 19:11
│ └◆768:Re[6]:サンプルHTML(改) [moon] 09/02 19:21
│ └◆769:Re[7]:サンプルHTML(改).. [masaki] 09/06 08:04
└◆770:769の次 [masaki] 09/06 09:46
└◆771:nameが無さそう [moon] 09/06 10:24
└◆772:参考 [moon] 09/06 10:36
└◆773:Re:参考 [masaki] 09/06 11:29
└◆774:Re[2]:参考 [moon] 09/06 13:09
└◆775:Re[3]:参考 [masaki] 09/06 15:34<-last