我想在JSP页面,对数据进行修改和删除,在每一行数据后面添加一个复选框

我想在JSP页面,对数据进行修改和删除,在每一行数据后面添加一个复选框,第1张

修改跟删除一c个a道理的, 如果你用一f些当前页面编辑的工b具,可以3直接在表格中7修改,如dorado,不c过这个k比2较复杂了v,一e般的做法是点击修改,跳转到另一e个y页面,比4如edit。jsp,跳转的时候把id传过来,在edit。jsp里查出id这条数据到页面,当然是一e个bform里就像你新增数据一o样,只不p过是有原先的数据显示3,,然后都一v样了qoて哗w{gynh╚lcⅷ◇cⅷ◇qk鼎

1、 实现的方法往往就是在每条记录前面加一个复选框,然后在列表下方放置一个“全选/

全不选”复选框。

2、 当选中“全选/全不选”复选框后,列表中的所有复选框都选中,当取消“全选/全不选”

复选框后,列表中的所有复选框都取消选中。

3、 当列表中的复选框都取消选中后,“全选/全不选”复选框也要取消选中。当列表中的复

选框都选中后,“全选/全不选”复选框也要选中。

4、 得到所有选中记录的值。

这项功能其实也很简单,但往往用的时候都要重新再写一遍,于是把它总结为一个模块,记录下来,以便再用。

(1)首先是在每条记录前加入复选框,该处复选框中的值为“id|username”(示例),即选中此复选框会同时传两个值(传一个值的太简单,就不举例了),中间用|隔开,下面取值时会用到:

<input id="box" name="box" type="checkbox" value="id|username" onclick="checkonebox()"/>

(2)然后在下方加入“全选/全不选”复选框。

<input id="checkall" type="checkbox" value="" onclick="checkall()"/>全选/全不选

(3)关键实现javascript

//点击"全选/全不选"复选框,如果选中,则选中全部复选框,否则取消选中全部复选框 function checkall() {

var ischecked = document.getElementById("checkall").checked

if(ischecked) {

checkallbox()

}else {

discheckallbox()

}

}

//选中全部复选框

function checkallbox() {

var boxarray = document.getElementsByName("box")

for(var i = 0i <boxarray.lengthi++) {

boxarray[i].checked = true

}

}

//取消选中全部复选框

function discheckallbox() {

var boxarray = document.getElementsByName("box")

for(var i = 0i <boxarray.lengthi++) {

boxarray[i].checked = false

}

//点击某个复选框,如果所有复选框都选中,“全选/全不选”复选框也选中 //否则如果所有复选框都取消选中,“全选/全不选”复选框也取消选中 function checkonebox() {

if(isallchecked()) {

document.getElementById("checkall").checked = true

}

if(isalldischecked()) {

document.getElementById("checkall").checked = false

}

}

//是否全部选中

function isallchecked() {

var boxarray = document.getElementsByName("box")

for(var i = 0i <boxarray.lengthi++) {

if(!boxarray[i].checked) {

return false

}

}

return true

}

//是否全部没有选中

function isalldischecked() {

var boxarray = document.getElementsByName("box")

for(var i = 0i <boxarray.lengthi++) {

if(boxarray[i].checked) {

return false

}

}

return true

}

//得到选中项的值的集合,结果为“1|小明,2|小王,3|小李”的形式

function getallcheckedvalue() {

var boxvalues = ""

var boxarray = document.getElementsByName("box")

for(var i = 0i <boxarray.lengthi++) {

if(boxarray[i].checked) {

var boxvalue = boxarray[i].value

if(boxvalues == "") {

boxvalues = boxvalue

}else {

boxvalues = boxvalues + "," + boxvalue

} } } return boxvalues

//如果只需要得到其中选中项的id值的集合,方法如下,得到的值为(1,2,3,…) function getIds() {

var boxvalues = getallcheckedvalue()

var boxvaluesArray = boxvalues.split(",")

var ids = ""

for(var i = 0i <boxvaluesArray.lengthi++) {

var boxvalue = boxvaluesArray[i]

var boxvalueArray = boxvalue.split("|")

var id = boxvalueArray[0]

var username = boxvalueArray[1]

if(ids == "") {

ids = id

}else {

ids = ids + "," + id

}

}

return ids

}

最后,总结步骤:每条记录前加复选框,加“全选/全不选”复选框,调用javascript

这个不应该用复选框,应该用单选框,回显的时候如下

<input type="radio" name="z" value="0" <c:if test="${dict_is_editable==1}"checked='checked' </c:if>>是

<input type="radio" name="z" value="1" >否<c:if test="${dict_is_editable==0}"checked='checked' </c:if>>

大概就是这个意思。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11863819.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存