一. 擷取的參數
-
比如在圖1裡面就是我需要傳遞的參數了,圖1的左邊是有一列的複選框,當我想要擷取到
某一個裡面的參數時,就在複選框裡面打一個勾就可以了,打多少就擷取到多少。
-
此時已經知道要的值了,現在就是如何擷取到目前每一行裡面的值的問題的事情了,在layui
的插件裡面就有一句擷取目前選中行的值:var checkStatus = table.checkStatus(‘idTest’)
,這個checkStatus()方法是一個可以選中每一個複選框的資料都擷取到的!
圖1

3. 通過var datas = layuiTable.checkStatus(‘tabStudents’).data;這一串的代碼此時可以擷取到了表格的選中每一行的參數了,在圖2顯示就是我此時要擷取的兩行的參數了,現在我要的是每一行的其中的一個ID值,而且是一個批量的擷取!
圖2
4. 在圖3裡面我就是通過一個for的循環語句裡面擷取到每一選中行裡面的其中的EmployeeID的值,再給到我聲明的一個變量裡面,并且是一個字元串的形式。
5. 在圖3裡面我還在EmployeeID後面并接了一個“;”的字元串來,并且在for循環的後面再通過一個
Substring()的方法來把循壞到的每一個EmployeeID最後的一個“;”分号除掉,就是長度減一就行了。
圖 3
二. 參數的傳遞
- 在上面我已經把擷取參數詳細介紹了,接下來我要說的是我為什麼要把每一個參數都在後面加一個分号和一個for參數循環位置的小錯誤和大家說的了!
- 在控制器的那邊我已經封裝了一個方法,并且還給了一個參數控制器那邊,用來接收視圖這邊的參數,但是通過for循環傳遞過去的是連着的一串的ID,這樣就沒有辦法對參數進行一個一個的處理了,是以就在視圖傳遞之前就在後面就給一個“;”分号,然後再到控制器通過一個Split()切割,切割後,并且是儲存在一個數組裡面,再通過一個foreach()的循環,就可以進行一個一個的處理了。
三. For位置的錯誤性
- 在圖4,我就是犯了一個嚴重的做法,就是剛開始我把一個post()表單送出的方法,放在一個for()循環裡面,然後再把for()循環的周遊到ID傳到控制器那邊參數,結果這樣導緻怎麼也沒有辦法把全部的ID傳到控制器那邊,經過一系列的調序研究,把for()循環放到外面,讓其循環完成再到post()送出就可以把全部的ID傳遞過去了,原因其一:就是傳遞性的問題,電腦會循環一遍,到for()循環結束了,然後再循環第二遍,是以還沒有循環完成就進行了送出了,是以一個post()送出的語句是不可以直接放在一個for()循環裡面的,要把一個for()的循環優先放在上面,這樣就可以讓其循環完成了,在進行一個post()送出就可以了。
圖 4 錯誤寫法
2. 在圖5,此時就可以傳遞多個的一個參數了,并且是一個字元串的形式,把傳遞過來的參數進行一個切割就是你想要的一個參數了,同時還要把每一個參數再進行一個轉化為一個Int類型就可以了。
圖 5
總結:
-
經過這次的多個參數的傳遞讓我了解到了一個參數傳遞的一個過程,并且也知道在視圖這邊是沒有辦法一個一個的傳遞的,隻能進行一次性的傳遞,進行一個一個切割再進行儲存起來就可以,擷取到你需要的參數,同時也意識到了for()循環的周遊的一個過程,一個如果想讓一個for()循環周遊到全部的資料放在一個
聲明的一個變量裡面就必須放在外面,讓其周遊完整,在進行一個傳遞就可以了,經過這次總結希望幫助到你!