dim sql as string if compare.selectvalue='等于' then sql ="select * from table where 字段='查询条件' " else if compare.selectvalue='LIKE' then sql="select * from table where 字段 like '%查询条件%' " else if compare.selectvalue='>' then sql="select * from table where 字段 > '查询条件' ".............end if
function createSelect()
{ var inf=document.getElementById("infobody");//这是一个tbody的ID
var row=document.createElement("tr");
var cell=document.createElement("td");
var select1 = document.createElement("select");
var ooption = new Array();
ooption[0] = "单位";
ooption[1] = "姓名";
ooption[2] = "性别";
ooption[3] = "身份";
for(var i=0;i<ooption.length;i++)
{
select1.options[i] = new Option(ooption[i], ooption[i]);
}
cell.appendChild(select1);
row.appendChild(cell);
inf.appendChild(row);
}这样就可以了,其它你自己写吧
你得用cell.innerHTML,row.innerHTML,inf.innerHTML
这样非常麻烦,有不直观,
一般用这方法,更改DOM 的属性变化不大的时候用,
想你这中情况最好用cell.appendChild,
row.appendChild,inf.appendChild
L@_@K
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript">
<!--
function getParentByTagName(obj, parentTagName)
{
var parent = obj.parentNode;
while (parent != null && parent.tagName.toLowerCase() != parentTagName.toLowerCase())
{
parent = parent.parentNode;
}
return parent;
}function appendRow(obj)
{
var curTr = getParentByTagName(obj, "tr");
var tBody = curTr.parentNode;
// 最后一样不选空,则增加一行。
if (curTr.rowIndex == (tBody.rows.length - 1) && obj.value != "")
{
tBody.appendChild(curTr.cloneNode(true));
}
/*
// 倒数第二行选空,则删除最后一行!
// 可选功能,取消注释即可。
if (curTr.rowIndex == (tBody.rows.length - 2) && obj.value == "")
{
tBody.deleteRow();
}
*/
}
//-->
</script>
</head> <body>
<table>
<tr>
<td align="center">
<select name="bracket">
<option value=''> </option>
<option value='('>( </option>
</select></td>
<td align="center">
<select name="D2">
<option value='unitID' >单位 </option>
<option value='xm' >姓名 </option>
<option value='xb' >性别 </option>
<option value='sf' >身份 </option>
</select></td>
<td align="center">
<select name="compare" onchange="chcode(compare[0],0,mCode[0].value)">
<option value='=' >等于 </option>
<option value='LIKE' >模糊等于 </option>
<option value='>' >大于 </option>
<option value= '>=' >大于等于 </option>
<option value=' <' >小于 </option>
<option value=' <=' >小于等于 </option>
<option value='IN' >包含 </option>
<option value='NOT IN' >不包含 </option>
<option value=' <>' >不等于 </option>
<option value='NOT LIKE' >非模糊等于 </option>
</select> </td>
<td align="center"><input type="text" name="T1" size="20"><img src="ImgCss/bj.gif" /></td>
<td align="center">
<select name="logic" onchange="appendRow(this)">
<option value=''> </option>
<option value='AND' >并且 </option>
<option value='OR' >或者 </option>
<option value=')' >) </option>
<option value=') AND' >)并且 </option>
<option value=') OR' >)或者 </option>
</select> </td>
<td align="center"> <img src="ImgCss/delete.jpg" onclick="delCon()"/> </td>
</tr> </table>
</body>
</html>
L@_@K
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DHTML.js.dynamicAppendRow.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="dhtml js csdn" />
<meta name="description" content="for csdn" />
<script type="text/javascript">
<!--
function getParentByTagName(obj, parentTagName)
{
var parent = obj.parentNode;
while (parent != null && parent.tagName.toLowerCase() != parentTagName.toLowerCase())
{
parent = parent.parentNode;
}
return parent;
}function appendRow(obj)
{
var curTr = getParentByTagName(obj, "tr");
var tBody = curTr.parentNode;
// 最后一样不选空,则增加一行。
if (curTr.rowIndex == (tBody.rows.length - 1) && obj.value != "")
{
tBody.appendChild(curTr.cloneNode(true));
}
/*
// 倒数第二行选空,则删除最后一行!
// 可选功能,取消注释即可。
if (curTr.rowIndex == (tBody.rows.length - 2) && obj.value == "")
{
tBody.deleteRow();
}
*/
}
function deleteRow(obj)
{
var curTr = getParentByTagName(obj, "tr");
var tBody = curTr.parentNode;
if (tBody.rows.length > 1)
{
tBody.deleteRow(curTr.rowIndex);
}
else
{
alert("Are you crazy?!");
}
}
//-->
</script>
</head> <body>
<table>
<tr>
<td align="center">
<select name="bracket">
<option value=''> </option>
<option value='('>( </option>
</select></td>
<td align="center">
<select name="D2">
<option value='unitID' >单位 </option>
<option value='xm' >姓名 </option>
<option value='xb' >性别 </option>
<option value='sf' >身份 </option>
</select></td>
<td align="center">
<select name="compare">
<option value='=' >等于 </option>
<option value='LIKE' >模糊等于 </option>
<option value='>' >大于 </option>
<option value= '>=' >大于等于 </option>
<option value=' <' >小于 </option>
<option value=' <=' >小于等于 </option>
<option value='IN' >包含 </option>
<option value='NOT IN' >不包含 </option>
<option value=' <>' >不等于 </option>
<option value='NOT LIKE' >非模糊等于 </option>
</select> </td>
<td align="center"><input type="text" name="T1" size="20"></td>
<td align="center">
<select name="logic" onchange="appendRow(this)">
<option value=''> </option>
<option value='AND' >并且 </option>
<option value='OR' >或者 </option>
<option value=')' >) </option>
<option value=') AND' >)并且 </option>
<option value=') OR' >)或者 </option>
</select> </td>
<td align="center"><a href="javascript:void(0);" onclick="deleteRow(this)">-X-</a></td>
</tr> </table>
</body>
</html>
1:<input type="text" name="T1" size="20">如果已经输入值了,添加的新行将输入的值也带过来了,有什么办法清空么?
2:我想获取所有动态生成的input和select的value,该怎么实现呢?
如:添加每个input时,document.getElementById("xxx").setAttribute("me","newInput");然后获取所有input,进行遍历查找,哪些是你动态插的,
document.getElementById("xxx").getAttribute("me")!=null && document.getElementById("xxx").getAttribute("me")=="newInput"即可得到你动态插的所有input
已解决,L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DHTML.js.dynamicAppendRow.html</title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="dhtml js csdn" />
<meta name="description" content="for csdn" />
<script type="text/javascript">
<!--
function $(sId)
{
return document.getElementById(sId);
}
function getParentByTagName(obj, parentTagName)
{
var parent = obj.parentNode;
while (parent != null && parent.tagName.toLowerCase() != parentTagName.toLowerCase())
{
parent = parent.parentNode;
}
return parent;
}function appendRow(obj)
{
var curTr = getParentByTagName(obj, "tr");
var tBody = curTr.parentNode;
// 最后一样不选空,则增加一行。
if (curTr.rowIndex == (tBody.rows.length - 1) && obj.value != "")
{
var newTr = tBody.appendChild(curTr.cloneNode(true));
var collInput = newTr.getElementsByTagName("input");
for (var i=0; i<collInput.length; i++)
{
if (collInput[i].type == "text")
{
collInput[i].value = "";
}
}
}
/*
// 倒数第二行选空,则删除最后一行!
// 可选功能,取消注释即可。
if (curTr.rowIndex == (tBody.rows.length - 2) && obj.value == "")
{
tBody.deleteRow();
}
*/
}
function deleteRow(obj)
{
var curTr = getParentByTagName(obj, "tr");
var tBody = curTr.parentNode;
if (tBody.rows.length > 1)
{
tBody.deleteRow(curTr.rowIndex);
}
else
{
alert("Are you crazy?!");
}
}
function getFirstElementNode(parent)
{
var child = parent.firstChild;
while (child.nodeType != 1)
{
child = child.nextSilbling;
}
return child;
}
function joinSql()
{
var result = "";
var oTab = $("tabSql");
var oCell;
var oElement;
for (var i=0; i<oTab.cells.length; i++)
{
oCell = oTab.cells[i];
oElement = getFirstElementNode(oCell);
switch (oElement.tagName.toLowerCase())
{
case "input":
result += " '" + oElement.value + "'";
break;
case "select":
result += " " + oElement.value;
break;
}
} $("ttaSql").value = result;
}
//-->
</script>
</head> <body>
<table id="tabSql">
<tr>
<td align="center">
<select name="bracket">
<option value=''> </option>
<option value='('>( </option>
</select></td>
<td align="center">
<select name="D2">
<option value='unitID' >单位 </option>
<option value='xm' >姓名 </option>
<option value='xb' >性别 </option>
<option value='sf' >身份 </option>
</select></td>
<td align="center">
<select name="compare">
<option value='=' >等于 </option>
<option value='LIKE' >模糊等于 </option>
<option value='>' >大于 </option>
<option value= '>=' >大于等于 </option>
<option value='<' >小于 </option>
<option value='<=' >小于等于 </option>
<option value='IN' >包含 </option>
<option value='NOT IN' >不包含 </option>
<option value='<>' >不等于 </option>
<option value='NOT LIKE' >非模糊等于 </option>
</select> </td>
<td align="center"><input type="text" name="T1" size="20"></td>
<td align="center">
<select name="logic" onchange="appendRow(this)">
<option value=''> </option>
<option value='AND' >并且 </option>
<option value='OR' >或者 </option>
<option value=')' >) </option>
<option value=') AND' >)并且 </option>
<option value=') OR' >)或者 </option>
</select> </td>
<td align="center"><a href="javascript:void(0);" onclick="deleteRow(this)">-X-</a></td>
</tr>
</table>
<input type="button" value="Join Sql" onclick="javascript:joinSql();" /><br />
<textarea id="ttaSql" rows="10" cols="60"></textarea>
</body>
</html>
只能取到每个 td 中第一个 element 的值!另外,请注意防范 sql 注入攻击,自己去查查吧,
当然如果对数据安全要求不高滴话就算了!
if compare.selectvalue='等于' then
sql ="select * from table where 字段='查询条件' "
else if compare.selectvalue='LIKE' then
sql="select * from table where 字段 like '%查询条件%' "
else if compare.selectvalue='>' then
sql="select * from table where 字段 > '查询条件' ".............end if