`

关于jquery实现动态的增加删除条件拼串组合

 
阅读更多
当进行复杂查询,或者限定条件时,常用到动态的增加、删除条件 来拼串(样式见附件)。下面我们来代码实现附件的功能

1.大(或)条件的增加
var rowNum= 0;
var subRowNum=1;
function addTotalCondition(tableName){
++rowNum;
var option = "";
var rowHtml="";
var url = "";
var key = "";
rowHtml +="<tr id='"+ "tr_subCondition"+ "_" +rowNum+"' name=\"tr_subCondition\">";
rowHtml +="<td ><input type=\"checkbox\" id=\"checkbox\" name=\"checkboxSubCondition\"  /></td>";
rowHtml +="<td>";
rowHtml +="<table id=\"table_subCondition_"+ rowNum +"\"  name=\"table_subCondition\" >";
rowHtml +="<tr>";
rowHtml +="<td><input  style=\"width: 25px\" class=\"btn-common\"  type=\"button\" value=\"+\" id=\"btn_add_condition_"+ rowNum +"\" name=\"btn_add_condition_"+ rowNum +"\" onclick=\"addCondition("+rowNum+","+subRowNum+")\" /> </td>";

rowHtml +="<td><input style=\"width: 25px\" class=\"btn-common\"  type=\"button\" value=\"-\" id=\"btn_add_condition_"+ rowNum +"\" name=\"btn_del_condition_"+ rowNum +"\" onclick=\"delCondition("+rowNum+")\" /></td>";
rowHtml +="<td>";
rowHtml +="<table id=\"table_condition_"+ rowNum +"\"  name=\"table_condition\" >";
rowHtml +="<tr>";
rowHtml +="<td><input type=\"checkbox\" id=\"checkbox_"+ rowNum +"\" name=\"checkboxCondition\"  /></td>";
rowHtml +="<td><span>查询项目<span></td>";
rowHtml +="<td>";
url = $.WEB_ROOT +'/platform/codelist/queryByKey.do';
key = 'WIKICT';
var selectkey = "01";
option = getComboboxOptions(url , key ,selectkey);
rowHtml +="<select id=\"limitProjectId_" + rowNum +"_" + subRowNum +"\"   name=\"limitProjectIds\"> "+ option+ " </select><input type=\"text\" id=\"textvalue\"";
rowHtml +="</td>";
rowHtml +="</tr>";
// rowHtml +="</table >";
rowHtml +="</td>";
rowHtml +="</tr>";
rowHtml +="</table >";
rowHtml +="</td>";
rowHtml +="</tr>";
//alert(rowHtml)
$("#"+tableName).append(rowHtml);
}

2.大(或)条件的删除

var delTotalCondition = function(tableName) {
var flag = true;
$("#"+tableName+" tr[id^='tr_subCondition']").each(function() {
//debugger;
if ($(this).find("#checkbox").get(0).checked == true) {
flag = false;
}
});

if(flag){
$.alert('请选择要删除子条件');

}else{
$("#"+tableName+" tr[id^='tr_subCondition']").each(function() {
//debugger;
if ($(this).find("#checkbox").get(0).checked == true) {
$(this).remove();
}
});
}
};

3.下拉列表框的初始化实现
function getComboboxOptions(url, codeListKey,selectkey) {
var str = "";
$.ajax( {
type : "POST",
async : false,
dataType : "json",
url : url,
data : jQuery.param( {
key : codeListKey //传递Key值
}, true),

success : function(data) {//创建<option></option>

$.each(data.codeList, function(i, n) {
if(selectkey!=null&&data.codeList[i].key==selectkey){//检测到需要默认设置的value,并设置为selected
str += "<option value='"+
data.codeList[i].key
+ "' selected='selected' >" +//默认设置
data.codeList[i].value
+"</option>";
}else{
str += "<option value='"+
data.codeList[i].key
+ "'>" + //一般设置
data.codeList[i].value
+"</option>";
}

});

}
});
return str;
}

4.小(且)条件的新增

var subRowCount = 0
var addCondition = function(rowNum,index) {
if(subRowCount == 0){
subRowCount = index;
++subRowCount;
}else{
++subRowCount;
}
var rowHtml="";
var url="";
var key="";
var selectkey="";
var option="";
rowHtml +="<tr>";
rowHtml +="<td>";
rowHtml +="<input type=\"checkbox\" id=\"checkbox_"+ rowNum +"\" name=\"checkboxCondition\"  />";
rowHtml +="</td>";
rowHtml +="<td>";
rowHtml +="<span>限定项目<span>";
rowHtml +="</td>";
rowHtml +="<td>";
url = $.WEB_ROOT +'/platform/codelist/queryByKey.do';
key = 'WIKICT';
selectkey = "01";
option = getComboboxOptions(url , key ,selectkey);
rowHtml +="<select id=\"limitProjectId_" + rowNum +"_" + subRowCount +"\" name=\"limitProjectIds\"> "+option+" <select><input type=\"text\" id=\"textValue\">";
rowHtml +="</td>";
rowHtml +="</tr>";

$("#table_condition_" +rowNum).append(rowHtml);


}

5.小(且)条件的删除

var delCondition = function(obj) {
var flag = true;
$("#table_condition_"+ obj +" tr").each(function() {
if ($(this).find("input[id^='checkbox_']").get(0).checked == true) {
flag = false;
}
});
if(flag){
$.alert('请选择要删除的限定项目1111');

}else{
$("#table_condition_"+ obj +" tr").each(function() {
if ($(this).find("input[id^='checkbox_']").get(0).checked == true) {
$(this).remove();
}
});
}
}
  • 111.rar (6.4 KB)
  • 下载次数: 13
分享到:
评论

相关推荐

    jQuery实现动态添加、删除按钮及input输入框的方法

    通过本篇文章,我们将学习如何使用jQuery实现动态添加和删除按钮及input输入框的方法,同时还将涉及到事件响应和页面元素动态操作的相关技巧。 首先,我们需要注意的是,当页面加载完毕后,jQuery的$(document)....

    jquery easyUI 实现动态生成多条件查询功能

    谁在jquery easyUI 下做过动态生成多条件查询功能,动态添加一行(一个条件):参数名(多个字段名)、关系符(&gt;、&lt;、&gt;=、、=)、比较值(input)。大体就这样,点击“添加条件”,生成上面描述的一行,这个在jquery...

    jquery动态添加删除(tr/td)

    在介绍jQuery动态添加删除表格行(tr)和单元格(td)的过程中,首先需要明确的是jQuery库是JavaScript的一个快速、小巧、功能丰富的库,它简化了HTML文档遍历和操作、事件处理、动画和Ajax交互,对于Web开发人员来...

    jQuery动态添加删除编辑标签代码.zip

    本资源"jQuery动态添加删除编辑标签代码.zip"提供了一种实现动态管理标签页的方法,尤其适用于需要用户交互性高的Web应用。下面将详细阐述这个代码实现的功能及其背后的编程原理。 首先,"jQuery动态添加删除编辑...

    jquery iframe动态添加删除tab选项卡

    jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe动态添加tab选项卡 jquery iframe...

    jquery表格动态添加删除行代码.zip

    本示例“jquery表格动态添加删除行代码”利用jQuery的强大功能,为用户提供了一个直观且用户友好的表格管理体验。这个代码实现了一个功能,即在表格中动态地添加和删除行,这对于数据展示和编辑是非常实用的。 首先...

    jquery实现动态添加列,删除指定列

    jquery脚本实现动态添加列,删除指定列

    使用jQuery实现动态添加、删除表格

    本教程将详细讲解如何使用jQuery来实现动态添加和删除表格行,这在数据展示和用户交互中非常常见,特别是在需要实时更新或编辑数据的场景下。 一、jQuery基础 在开始之前,我们需要确保网页已经引入了jQuery库。...

    jquery实现动态添加文本框和下拉框效果

    jquery实现动态添加文本框和下拉框效果。

    jQuery动态添加删除移动列表插件

    本篇文章将详细讲解基于jQuery的动态添加、删除和移动列表插件的实现方法,以及如何利用相关代码进行数据操作。 首先,jQuery动态添加功能允许我们在用户交互时实时向页面中的列表添加新元素。例如,当你有一个表单...

    74、jquery表格动态添加删除行代码

    本文将深入探讨如何使用jQuery实现表格的动态添加和删除行功能,这在许多网页应用中是非常常见的需求。 首先,让我们理解基本概念。在HTML中,表格由`&lt;table&gt;`元素定义,每行由`&lt;tr&gt;`元素表示,而单元格则由`&lt;td&gt;`...

    jquery动态添加删除行 点击按钮动态添加行或动态删除行

    jquery动态添加删除行 点击按钮动态添加行或动态删除行代码 删除后序号重新排列

    jquery动态添加 删除指定行元素

    本文将深入探讨如何利用jQuery实现动态添加和删除指定行的功能。 首先,我们来看动态添加行的操作。这个过程通常包括获取表格引用、计算新行的索引、克隆已有行并将其插入到表格中。在提供的代码中,`add()`函数...

    jQuery表单元素动态增加删除代码.zip

    本资源"jQuery表单元素动态增加删除代码.zip"聚焦于一个特定的应用场景:通过jQuery实现表单元素的动态添加与删除功能。这种功能在现代Web应用中非常常见,例如在线表单填写、购物车管理等,它允许用户根据需要...

    jquery实现动态背景效果.rar

    本资源“jquery实现动态背景效果.rar”显然聚焦于利用jQuery来创建吸引人的动态背景特效,这对于提升网页用户体验至关重要。下面将详细探讨jQuery如何实现动态背景效果以及与C#的关联。 首先,jQuery提供了丰富的...

    jquery 动态增加删除表格. 实例

    本实例将深入探讨如何利用jQuery实现动态增加和删除表格行的功能,这对于创建数据表或者交互式表单来说非常实用。 首先,我们需要一个基本的HTML结构来展示表格。表格通常由`&lt;table&gt;`元素定义,每一行由`&lt;tr&gt;`元素...

    jquery实现的可增加,删除行,可多行上下移动表格

    标题 "jquery实现的可增加,删除行,可多行上下移动表格" 描述了一种使用JavaScript库jQuery创建的交互式表格功能。这个功能允许用户在表格中动态添加、删除行,以及上下移动表格中的行,提供了更灵活的数据操作体验...

    jquery实现动态背景效果

    对于想要为网站增添视觉吸引力的开发者来说,jQuery提供了一种简单而有效的方法来实现动态背景。 首先,让我们理解什么是动态背景。动态背景是指在网页的背景上应用的视觉效果,如平滑滚动、颜色渐变、图像移动或...

    jQuery动态添加删除分组插件

    本文将详细探讨"jQuery动态添加删除分组插件",以及如何结合用户分组和Bootstrap框架来实现高效且用户友好的界面。 首先,我们需要理解jQuery动态添加删除分组插件的核心功能。这个插件主要用于创建可动态增删的...

Global site tag (gtag.js) - Google Analytics