實現翻頁或查詢後保持核取方塊勾選狀態

2021-08-03 13:12:15 字數 3582 閱讀 7603

當你看著每個選項的名字而勾選選項時,傳入後台的一定是這些選項所對應的id(即唯一的識別符號)。由於乙個核取方塊的選項個數基本是不變的,在這個專案中所有的核取方塊的id和name都存入到了資料字典表中。乙個專案中會有多個核取方塊,為了區分不同的核取方塊選項,資料字典表中一定會有乙個字段用來區分不同的核取方塊。否則一號核取方塊中沒準會出現二號核取方塊的選項。以我之前最長見到的核取方塊為例,當核取方塊隨頁面載入時,會從資料字典表查詢出這個核取方塊的所有值(id和name 下面的的專案中成為dvaluedname),將每個選項的這兩個id和name封裝成乙個物件,再將這個核取方塊中所有已封裝成物件的選項新增入集合list中,在控制層將list加入request帶回到頁面,在頁面載入的時候利用jstl動態的生成核取方塊。要儲存核取方塊的勾選狀態,只需要將勾選的選項傳回頁面就可以了。

如下圖所示(請記住這個樣式,下面的核取方塊的**就是這個樣式):

那麼我們要看一下,當時這個查詢頁面的jsp中核取方塊的**。

align="right"

nowrap>核取方塊:td>

align="left">

type="text"

id="_mselect_text_fuxuankuang"

name="_mselect_text_fuxuankuang"

value="$"

onclick='_mselect_doselect("fuxuankuang");'

size="30"

class='mselect'

readonly/>

class='mselect_hidediv'

style='z-index:10;'

id='_mselect_div_fuxuankuang' >

class='mselect_tablediv'>

items="$"

var="vip">

nowrap>

type='checkbox'

name='fuxuankuang'

value="$"/>

td>

$td>

tr>

c:foreach>

table>

div>

div>

align='right'>

type='button'

value='確定'

onclick='_mselect_hideselect("fuxuankuang")'/>

div>

div>

td>接下來是這一段**中所涉及到function的**:

function

_mselect_doselect

(mname)else

}function

_mselect_hideselect

(mname)

}if(showtext.length>1)showtext=showtext.substr(1);

document.getelementbyid('_mselect_text_'+mname).value=showtext;

}function

_mselect_showselect

(mname)else

if(selectdiv.style.width==0)}}

//將勾選的選項集合封入request中

request.setattribute(attribute, listchecked);

}

上面**中的attribute對應下面的fuxuankuangchecked現在已經看到了我們將勾選的選項重新傳回了查詢頁面,那麼判斷哪些選項勾選的任務就要交由前台去實現了。我們將核取方塊的**重新修改了一下:

align="right"

nowrap>核取方塊:td>

align="left">

type="text"

id="_mselect_text_fuxuankuang"

name="_mselect_text_fuxuankuang"

value="$"

onclick='_mselect_doselect("fuxuankuang");'

size="30"

class='mselect'

readonly/>

class='mselect_hidediv'

style='z-index:10;'

id='_mselect_div_fuxuankuang' >

class='mselect_tablediv'>

items="$"

var="vip">

test="$">

var="fuxuankuangflag"

value="0"

scope="page">

c:set>

items="$"

var="v">

test="$">

test="$">

nowrap>

type='checkbox'

name='fuxuankuang'

value="$"

checked/>

td>

$td>

tr>

var="fuxuankuangflag"

value="1"

scope="page">

c:set>

c:if>

c:if>

test="$">

c:if>

c:foreach>

test="$">

nowrap>

type='checkbox'

name='fuxuankuang'

value="$"/>

td>

$td>

tr>

c:if>

c:if>

test="$">

nowrap>

type='checkbox'

name='fuxuankuang'

value="$"/>

td>

$td>

tr>

c:if>

c:foreach>

table>

div>

div>

align='right'>

type='button'

value='確定'

onclick='_mselect_hideselect("fuxuankuang")'/>

div>

div>

td>最後只需要在頁面載入的function中新增上覆選框確認勾選的方法即可。

function

init

()

這樣就可以實現翻頁或查詢後核取方塊狀態的保持功能了。

辦法永遠比問題多,以上只是實現核取方塊狀態保持的乙個思路。

chechbox勾選核取方塊

需求是現在要修改一些資訊,修改頁面有一欄是核取方塊按鈕。假如 總共有10個核取方塊,有5個是被選中的。先把10個核取方塊通過c標籤遍歷出來,具體如下 把已經選中的在後台拼裝為乙個字串,可以用特殊字元分割 例如 strint sts abc dfv ert yui 在前台頁面 可以用乙個hiden接受...

TreeView的核取方塊勾選

如果勾選所有子節點,父節點也會勾選 如果某子節點取消勾選,則所有父節點也取消勾選 下面的 能全做到 設定標誌,防止死迴圈 bool check false 節點勾選後事件,如果更改某一節點狀態會自動觸發,所以在後面的方法中無需遞迴 private void treeview1 aftercheck ...

小白成長記(二 勾選核取方塊計算價格)

因為我做的功能屬於報表性質的功能,所以當所有的報表都做完之後我時間就比較富裕了。但是我還不是乙個能閒得住的人,於是我 交給了我乙個任務,就是計算出來你勾選的那一條或多條資料並推送給一款財務軟體然後反寫一下。如下圖 歌詞可以忽略哈 勾選獲取資料可以參考一下layui文件 前端就不展示了,我也是用的文件...