1
1
if ( ! localStorage . getItem ( 'start' ) ) {
2
2
localStorage . setItem ( 'start' , 0 ) ;
3
3
}
4
-
5
- localStorage . setItem ( 'quantity' , 10 ) ;
4
+ if ( ! localStorage . getItem ( 'colorMode' ) ) {
5
+ localStorage . setItem ( 'colorMode' , 'light' ) ;
6
+ }
6
7
7
8
function clearData ( ) {
8
9
document . querySelector ( "tbody" ) . innerHTML = "" ;
@@ -104,7 +105,7 @@ function checkRow(check_button) {
104
105
checkDialogList . innerHTML = "" ;
105
106
const label = document . querySelector ( "#head-row" ) ;
106
107
const labelChildren = label . children ;
107
- for ( let i = 1 ; i < rowChildren . length - 1 ; i ++ ) {
108
+ for ( let i = 2 ; i < rowChildren . length - 1 ; i ++ ) {
108
109
// console.log(children[i].innerHTML);
109
110
let liElement = document . createElement ( 'li' ) ;
110
111
liElement . innerHTML = `${ labelChildren [ i ] . innerHTML } : ${ rowChildren [ i ] . innerHTML } ` ;
@@ -113,6 +114,21 @@ function checkRow(check_button) {
113
114
dialog . showModal ( ) ;
114
115
}
115
116
117
+ function changeRow ( change_button ) {
118
+ const dialog = document . querySelector ( "#change-dialog" ) ;
119
+ const row = change_button . parentNode . parentNode ;
120
+ const rowChildren = row . children ;
121
+
122
+ const numberInput = dialog . querySelector ( "input#number" ) ;
123
+ const nameInput = dialog . querySelector ( "input#name" ) ;
124
+ const gradeInput = dialog . querySelector ( "input#grade" ) ;
125
+ const classInput = dialog . querySelector ( "input#class" ) ;
126
+ const ageInput = dialog . querySelector ( "input#age" ) ;
127
+
128
+
129
+ dialog . showModal ( ) ;
130
+ }
131
+
116
132
function addNewRow ( ) {
117
133
// element is the button whose class is "check"
118
134
const dialog = document . querySelector ( "#add-dialog" ) ;
@@ -155,7 +171,7 @@ function selectToggle(select_toggle, delete_value) {
155
171
}
156
172
select . checked = select_toggle . checked ;
157
173
updateDisplayDelete ( select , delete_value ) ;
158
- } )
174
+ } ) ;
159
175
}
160
176
161
177
function deleteRows ( delete_value ) {
@@ -177,6 +193,11 @@ document.addEventListener("DOMContentLoaded", () => {
177
193
178
194
fetchData ( ) ;
179
195
196
+ const htmlElement = document . querySelector ( "html" ) ;
197
+ // const colorMode = htmlElement.getAttribute("color-mode");
198
+ const prevColorMode = localStorage . getItem ( 'colorMode' ) ;
199
+ htmlElement . setAttribute ( 'color-mode' , prevColorMode ) ;
200
+
180
201
document . querySelector ( "#prev" ) . onclick = ( ) => {
181
202
var start = parseInt ( localStorage . getItem ( 'start' ) ) ;
182
203
var quantity = parseInt ( localStorage . getItem ( 'quantity' ) ) ;
@@ -200,12 +221,13 @@ document.addEventListener("DOMContentLoaded", () => {
200
221
}
201
222
202
223
document . querySelector ( "#color-mode" ) . onclick = ( ) => {
203
- const htmlElement = document . querySelector ( "html" ) ;
204
224
const colorMode = htmlElement . getAttribute ( 'color-mode' ) ;
205
225
if ( colorMode === 'light' ) {
206
226
htmlElement . setAttribute ( 'color-mode' , 'dark' ) ;
227
+ localStorage . setItem ( 'colorMode' , 'dark' ) ;
207
228
} else {
208
229
htmlElement . setAttribute ( 'color-mode' , 'light' ) ;
230
+ localStorage . setItem ( 'colorMode' , 'light' ) ;
209
231
}
210
232
}
211
233
@@ -215,7 +237,10 @@ document.addEventListener("DOMContentLoaded", () => {
215
237
if ( element . className === 'check' ) {
216
238
checkRow ( element ) ;
217
239
} else if ( element . className === 'change' ) {
218
- alert ( "change" ) ;
240
+ const changeDialog = document . querySelector ( "#change-dialog" ) ;
241
+ const collegeSelect = changeDialog . querySelector ( "#colleges" ) ;
242
+ changeRow ( element ) ;
243
+ populateMajors ( collegeSelect ) ;
219
244
} else if ( element . className === 'select' ) {
220
245
updateDisplayDelete ( element , delete_value ) ;
221
246
} else if ( element . id === 'select-toggle' ) {
@@ -226,12 +251,14 @@ document.addEventListener("DOMContentLoaded", () => {
226
251
} else if ( element . id === "delete-confirm" ) {
227
252
resetSelect ( delete_value ) ;
228
253
} else if ( element . id === "add" ) {
254
+ const addDialog = document . querySelector ( "#add-dialog" ) ;
255
+ const collegeSelect = addDialog . querySelector ( "#colleges" ) ;
229
256
addNewRow ( ) ;
230
- }
257
+ populateMajors ( collegeSelect ) ;
258
+ }
231
259
} )
232
260
233
- const collegeSelect = document . getElementById ( 'colleges' ) ;
234
- const majorSelect = document . getElementById ( 'majors' ) ;
261
+ const collegeSelects = document . getElementsByClassName ( 'colleges' ) ;
235
262
236
263
const majorsByCollege = {
237
264
JSJ : [ '软件工程' , '计算机科学与工程' ] ,
@@ -241,23 +268,24 @@ document.addEventListener("DOMContentLoaded", () => {
241
268
JX : [ '车辆工程' , '工业设计' , '材料工程' ]
242
269
} ;
243
270
244
- // 初始化专业下拉菜单
245
- function populateMajors ( ) {
246
- const selectedCollege = collegeSelect . value ;
247
- majorSelect . innerHTML = '' ; // 清空专业下拉菜单
248
- majorsByCollege [ selectedCollege ] . forEach ( function ( major ) {
249
- const option = document . createElement ( 'option' ) ;
250
- option . value = major ;
251
- option . textContent = major ;
252
- majorSelect . appendChild ( option ) ; // 添加专业选项到下拉菜单
253
- } ) ;
271
+ function populateMajors ( collegeSelect ) {
272
+ const selectedCollege = collegeSelect . value ;
273
+ const formElement = collegeSelect . parentNode ;
274
+ const majorSelect = formElement . querySelector ( "select#majors" ) ;
275
+ majorSelect . innerHTML = '' ; // 清空专业下拉菜单
276
+ majorsByCollege [ selectedCollege ] . forEach ( function ( major ) {
277
+ const option = document . createElement ( 'option' ) ;
278
+ option . value = major ;
279
+ option . textContent = major ;
280
+ majorSelect . appendChild ( option ) ; // 添加专业选项到下拉菜单
281
+ } ) ;
254
282
}
255
-
256
283
// 监听学院选择事件
257
- collegeSelect . addEventListener ( 'change' , populateMajors ) ;
258
-
259
- // 初始化
260
- populateMajors ( ) ;
284
+ Array . from ( collegeSelects ) . forEach ( collegeSelect => {
285
+ collegeSelect . addEventListener ( 'change' , ( ) => { // collegeSelect.addEventListener("change", populateMajors(collegeSelect)); wrong
286
+ populateMajors ( collegeSelect ) ;
287
+ } ) ;
288
+ } )
261
289
262
290
// not working...?
263
291
// document.querySelectorAll('#add').forEach(function(button) {
0 commit comments