回答編集履歴
2
別バージョンのソース追記
test
CHANGED
@@ -143,3 +143,69 @@
|
|
143
143
|
|
144
144
|
|
145
145
|
ソートし終わったhtmlにはselectedが表示されていませんが、プロパティの方で入ってますので、まぁなんとか強引に形に持っていくと言う感じで。
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
###別の方法で最初のjavascriptソースを利用して
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
```javascript
|
154
|
+
|
155
|
+
(function($) {
|
156
|
+
|
157
|
+
$(function() {
|
158
|
+
|
159
|
+
var options = $("#test option");
|
160
|
+
|
161
|
+
var arr = options.map(function(i, o) {
|
162
|
+
|
163
|
+
return {
|
164
|
+
|
165
|
+
text: $(o).text(),
|
166
|
+
|
167
|
+
val: o.value,
|
168
|
+
|
169
|
+
sel: o.selected //true || false
|
170
|
+
|
171
|
+
};
|
172
|
+
|
173
|
+
}).get();
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
arr.sort(function(o1, o2) {
|
178
|
+
|
179
|
+
return o1.text > o2.text ? 1 : o1.text < o2.text ? -1 : 0;
|
180
|
+
|
181
|
+
});
|
182
|
+
|
183
|
+
options.each(function(i, o) {
|
184
|
+
|
185
|
+
o.value = arr[i].val;
|
186
|
+
|
187
|
+
$(o).text(arr[i].text);
|
188
|
+
|
189
|
+
o.selected = arr[i].sel;
|
190
|
+
|
191
|
+
if (o.selected) {
|
192
|
+
|
193
|
+
$(o).attr("selected",true);
|
194
|
+
|
195
|
+
} else {
|
196
|
+
|
197
|
+
$(o).attr("selected",false);
|
198
|
+
|
199
|
+
}
|
200
|
+
|
201
|
+
});
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
});
|
206
|
+
|
207
|
+
})(jQuery);
|
208
|
+
|
209
|
+
```
|
210
|
+
|
211
|
+
まぁ、ひとまずって感じですけれども。
|
1
ソース修正と追記
test
CHANGED
@@ -22,6 +22,18 @@
|
|
22
22
|
|
23
23
|
var options = $("#test option");
|
24
24
|
|
25
|
+
var selected = $("option[selected]").val();
|
26
|
+
|
27
|
+
/*selectされているのをチェック。
|
28
|
+
|
29
|
+
チェックが複数ある場合は、また別の方法で...というか普通はひとつですよね?*/
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
options.attr("selected",false); /*ここでselect解除*/
|
34
|
+
|
35
|
+
|
36
|
+
|
25
37
|
var arr = options.map(function(i, o) {
|
26
38
|
|
27
39
|
return {
|
@@ -45,6 +57,8 @@
|
|
45
57
|
o.value = arr[i].v;
|
46
58
|
|
47
59
|
$(o).text(arr[i].t);
|
60
|
+
|
61
|
+
$(this).parent("select").val(selected); /*最初に選んでおいたセレクトを適用*/
|
48
62
|
|
49
63
|
});
|
50
64
|
|
@@ -125,3 +139,7 @@
|
|
125
139
|
```
|
126
140
|
|
127
141
|
こんな感じに「Yes!」となるようにしてみました。
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
ソートし終わったhtmlにはselectedが表示されていませんが、プロパティの方で入ってますので、まぁなんとか強引に形に持っていくと言う感じで。
|