一个checkbox,里面有两条数据:一条不可以删除,一条可以删除(都以实现),但是当选中两条数据同时删除时,系统会弹出不能删除的警告框,但是又执行了删除方法,我想选中两条数据同时删除时,只给出提示,不删除,求方法,我是用ajax从后台传值的
解决方案 »
- 【求助!】webwork进行文件上传,如何使服务器上保存的文件名与原始文件名(包括扩展名)一致,或者扩展名一致,前面是一个顺序编号的字符串?
- 求个在JFrame中添加滚动轴,并实现鼠标监听和操作的程序
- ssh:debug模式时,总是会跳到integertype类里去
- 我愿意有偿学习spring + ibatis,希望好心人帮助。
- 有一个问题!!
- 这个问题是否是 thinging in java 中的一个错误?
- 参加J2EE项目开发组吗?
- 关于概念问题?
- 数据库提交的问题,update!!着急啊
- 在struts.xml中使用result type="json" 如何在ajax中获得值
- Unable to instantiate Action, LoginAction, defined for 'logout' in namespace '/
- JSP 登录2个ID 后session问题
{
if (atleaseOneCheck()){
var sign=0;
var items = document.getElementsByName('projectConfigIds');
if (items.length > 0) {
for (var i = 0; i < items.length; i++) {
if (items[i].checked == true){
ajaxUtil.checkrequirmentIdByName(items[i].value, function(data) {
if (data == '1'){
sign=1;
alert("不能删除!");
return false;
//location.replace(location.href);
}
else if(data == '0')
{
var form = document.getElementById("moduleListForm");
form.action = "config_deleteModule.action";
form.submit();
}
});
if(sign==1){
break;
}
}
}
}
} else {
alert('请至少选择一个模块删除!');
return;
}
}前台的js
你可以设置一个boolean值,当两个都选时返回true,
else if(data == '0')
{
//然后在这判断,如果是true,跳出这个块
var form = document.getElementById("moduleListForm");
form.action = "config_deleteModule.action";
form.submit();
}
看你这个好像是碰见不能删除的就不删了,但是能删除的就会去删除!
你应该一下子吧数据传过去,不要一个一个的传,然后统一返回个状态值。
用ajax的话用事务不好控制的!
都不删除的话,那就简单了你把你的代码逻辑改一下,
for (var i = 0; i < items.length; i++) {
if (items[i].checked == true){
ajaxUtil.checkrequirmentIdByName(items[i].value, function(data) {if (data == '1'){
sign=1;
alert("不能删除!");
return false;
//location.replace(location.href);
}
else if(data == '0')
{
var form = document.getElementById("moduleListForm");
form.action = "config_deleteModule.action";
form.submit();
}把这里红色部分的提交代码放到循环外面。。然后checkrequirmentIdByName方法的第一个参数传递数组值,一次性提交,后台逻辑检查参数数组是否有不可以删除的参数标记,如果有不可删除的,就返回,而不进行删除操作。没有的话,就执行删除
哎你的jquery的事件注册做相应的改动啊。我告诉你的是思路。