<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title><script>
function modify(tar,ona)
{
if(window.event.srcElement!=tar){
return;
};
var o = document.createElement("input");
var str = tar.innerHTML;
tar.innerHTML = "";
o.name = ona;
o.type = "text";
o.size = "13";
o.value = str;
o.onblur = function(){
tar.innerHTML = this.value;
};
tar.appendChild(o);
o.select();
}
</script>
</head>
<body leftmargin="0" topmargin="0"><table class="tableBorder" width="100%" border="0" cellspacing="1" bgcolor="#eff0eb">
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">年级库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF"><input type="checkbox" name="NJid" value="小学" onClick='chkbox(this,"tb")'>小学 <input type="checkbox" name="NJid" value="初中" onClick='chkbox(this,"tb")'>初中 <input type="checkbox" name="NJid" value="高中" onClick='chkbox(this,"tb")'>高中
</td>
</tr>
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">科目库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF">
<input type="checkbox" name="KMid" value="语文">语文 <input type="checkbox" name="KMid" value="数学">数学 <input type="checkbox" name="KMid" value="英语">英语</td>
</tr></table>
<table border="1" width="100%">
<tr>
<td><table id="tb"></table></td>
</tr>
</table>
-----------------------------------------------------------------------------------------------------------------------------------------<br>
假如当年级库中选择“小学”,则“表格一”出现“小学”及文本框;当再选择科目库中的“语文”等时,则“表格一”出现“语文”和文本框等的信息。
<p>假如当年级库中选择“小学”和“中学”,则“表格一”出现“小学”及文本框和“中学”及文本框两行;当再选择了科目库中“语文”时,小学和中学两行右边单元格同时出现“语文”和文本框的信息。 <p>
当年级库中的CHECKED=FALSE则,自动删除该行<br>
最终效果如下表格。</p>
<p>假如以上年级库选择了“小学”和“高中”,科目库选择了“语文”“数学”,我想实现的内容如下图:<br>
-----------------------------------------------------------------------------------------------------------------------------------------<br>表格一
<br>
<table border="1" width="100%">
<tr>
<td width="664">小学 <input type="text" name="rs" value="人数"></td>
<td>语文<input type="text" name="sl" value="数量"><p>数学<input type="text" name="sl" value="数量"></td>
</tr>
<tr>
<td>高中<input type="text" name="rs" value="人数"></td>
<td>语文<input type="text" name="sl" value="数量"><p>数学<input type="text" name="sl" value="数量"></td>
</tr>
</table>
</body>
</html>
<SCRIPT LANGUAGE="JavaScript">
function chkbox(obj,id)
{if(obj.checked==true)
additem(id);
else
deleteitem(obj,id);}
var cellNum=0
function additem(id){
var row,cell,str;
row = document.getElementById(id).insertRow();
if(row != null ){
cellNum++
cell = row.insertCell();
str="<input type='text' name='text"+ cellNum +"' value='text"+ cellNum +"'><input type='button' value='删除' onclick='deleteitem(this,\""+id+"\")'>"
cell.innerHTML=str;
}
}
function deleteitem(obj,id){
cellNum--
var rowNum,curRow;
curRow = obj.parentNode.parentNode;
rowNum = document.getElementById(id).rows.length - 1;
document.getElementById(id).deleteRow(curRow.rowIndex);
}
</script>
解决方案 »
- 纯 JS 贪吃蛇 完整版
- select控件是多选的,如何用JS移除多选项目?
- 动态修改div中内部元素的位置
- 求js开发activex
- ----javascript简单问题,,window.close()。。。。。
- 请教一个JqGrid select 动态加载的问题
- Uncaught TypeError: string is not a function 是怎么一回事啊
- 某大型软件公司JavaScript考题,紧急求助!
- 怎样用js取得/设置所选表格的所有属性.....?
- 当表格单元格有一下拉菜单(图层),当鼠标在单元格和下拉菜单时,如何改变单元格的颜色?
- js图片缩放之后
- document.getElementsByName()某个节点 展开的操作
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style type="text/css">
td {
padding:4px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<table border="1">
<tr>
<td>年级库</td>
<td>小学<input type="checkbox" name="nj" /></td>
<td>初中<input type="checkbox" name="nj" /></td>
<td>高中<input type="checkbox" name="nj" /></td>
</tr>
<tr>
<td>科目库</td>
<td>语文<input type="checkbox" name="km" /></td>
<td>数学<input type="checkbox" name="km" /></td>
<td>英语<input type="checkbox" name="km" /></td>
</tr>
</table>
表格一
<table border="1">
<thead>
<tr>
<td>年级</td>
<td>科目</td>
</tr>
</thead>
<tbody id="tbody">
</tbody>
</table>
<script>
var $tb = $('#tbody');
$(':input[name=nj]').click(function(){
if( !$('#tbody tr[index='+$(this).parent().text()+']').length ){
$('<tr index="'+$(this).parent().text()+'"><td><input value="'+$(this).parent().text()+'" /></td><td></td></tr>').appendTo($tb);
}else{
$('#tbody tr[index='+$(this).parent().text()+']').remove();
}
})
$(':input[name=km]').click(function(){
var t = this;
if( !$('#tbody tr').length ){
alert('请先选择年级');
}else{
if( !$('#tbody td p[index='+$(this).parent().text()+']').length ){
$('#tbody tr').each(function(){
$(this).find('td:eq(1)').append($('<p index="'+$(t).parent().text()+'"><input value="'+$(t).parent().text()+'"></p>'));
})
}else{
$('#tbody p[index='+$(this).parent().text()+']').remove();
}
}
})
</script>
</body>
</html>
<title></title><script>
function modify(tar,ona)
{
if(window.event.srcElement!=tar){
return;
};
var o = document.createElement("input");
var str = tar.innerHTML;
tar.innerHTML = "";
o.name = ona;
o.type = "text";
o.size = "13";
o.value = str;
o.onblur = function(){
tar.innerHTML = this.value;
};
tar.appendChild(o);
o.select();
}
</script>
</head>
<body leftmargin="0" topmargin="0"><table class="tableBorder" width="100%" border="0" cellspacing="1" bgcolor="#eff0eb">
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">年级库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF"><input type="checkbox" name="NJid" value="小学" onClick='chkbox(this,"tb")'>小学 <input type="checkbox" name="NJid" value="初中" onClick='chkbox(this,"tb")'>初中 <input type="checkbox" name="NJid" value="高中" onClick='chkbox(this,"tb")'>高中
</td>
</tr>
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">科目库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF">
<input type="checkbox" name="KMid" value="语文">语文 <input type="checkbox" name="KMid" value="数学">数学 <input type="checkbox" name="KMid" value="英语">英语</td>
</tr></table>
<table border="1" width="100%">
<tr>
<td><table id="tb"></table></td>
</tr>
</table>
-----------------------------------------------------------------------------------------------------------------------------------------<br>
假如当年级库中选择“小学”,则“表格一”出现“小学”及文本框;当再选择科目库中的“语文”等时,则“表格一”出现“语文”和文本框等的信息。
<p>假如当年级库中选择“小学”和“中学”,则“表格一”出现“小学”及文本框和“中学”及文本框两行;当再选择了科目库中“语文”时,小学和中学两行右边单元格同时出现“语文”和文本框的信息。 <p>
当年级库中的CHECKED=FALSE则,自动删除该行<br>
最终效果如下表格。</p>
<p>假如以上年级库选择了“小学”和“高中”,科目库选择了“语文”“数学”,我想实现的内容如下图:<br>
-----------------------------------------------------------------------------------------------------------------------------------------<br>表格一
<br>
<table border="1" width="100%">
<tr>
<td width="664">小学 <input type="text" name="rs" value="人数"></td>
<td>语文<input type="text" name="sl" value="数量"><p>数学<input type="text" name="sl" value="数量"></td>
</tr>
<tr>
<td>高中<input type="text" name="rs" value="人数"></td>
<td>语文<input type="text" name="sl" value="数量"><p>数学<input type="text" name="sl" value="数量"></td>
</tr>
</table>
</body>
</html>
<SCRIPT LANGUAGE="JavaScript">
function chkbox(obj,id)
{if(obj.checked==true)
additem(id);
else
deleteitem(obj,id);}
var cellNum=0
function additem(id){
var leng,row,cell,str;
leng=document.getElementById(id).rows.length;
row = document.getElementById(id).insertRow(leng);
if(row != null ){
cellNum++
cell = row.insertCell(0);
str="<input type='text' name='text"+ cellNum +"' value='text"+ cellNum +"'><input type='button' value='删除' onclick='deleteitem(this,\""+id+"\")'>"
cell.innerHTML=str;
}
}
function deleteitem(obj,id){
cellNum--
var rowNum,curRow;
curRow = obj.parentNode.parentNode;
rowNum = document.getElementById(id).rows.length - 1;
if(rowNum>0){
document.getElementById(id).deleteRow(rowNum);
}
}
</script>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>新闻滚动</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
//级别选择框
$("#table1 tr:eq(0) td input:checkbox").click(function(){
if(this.checked==true){
var trID = "tr_"+$(this).attr("id"); //行id
//新增行,注意行id
$("#table2").append("<tr id='"+trID+"'><td>"+$(this).val()+":<input type='text' name='jibie_val' /> </td><td></td></tr>");
//新增级别行前, 如果有些科目已选择,则要添加
var $checkd = $("#table1 tr:eq(1) td input:checkbox:checked"); //获取已选择的科目
if($checkd.length>0){ //如果有科目被选中,循环加到第二个单元格
$checkd.each(function(){
$("#table2 #"+trID+" td:odd").append("<div class='div_"+$(this).attr("id")+"'>"+$(this).val()+":<input type='text' name='kemu_val'/></div>");
});
}
}
else{
$("#table2 #tr_"+$(this).attr("id")).remove();}
});
//科目选择框
$("#table1 tr:eq(1) td input:checkbox").click(function(){
if($("#table2 tr").length>0){ //只有级别有一个或以上被选择,才可以选择科目
if(this.checked==true){
$("#table2 tr td:odd").append("<div class='div_"+$(this).attr("id")+"'>"+$(this).val()+":<input type='text' name='"+$(this).attr("id")+"'/></div>");
}
else{
$("#table2 tr td:odd").find(".div_"+$(this).attr("id")).remove();
}
}
else{
this.checked=false;
}
});
$("#btn1").click(function(){
$("#show").empty();
$("#table2 tr").each(function(){
var trID = $(this).attr("id");
//alert(trID);
if(trID.indexOf('1')>0){
$("#show").append("小学人数:"+$(this).find("input:[name='jibie_val']").val()+" 》》 ");
$("input:text[name*='kemu']",this).each(function(){
$("#show").append(getKeMu($(this).attr("name"))+"数量:"+$(this).val()+" ")
});
$("#show").append("<br/><br/>") }else if(trID.indexOf('2')>0){
$("#show").append("初中人数:"+$(this).find("input:[name=jibie_val]").val()+" 》》 ");
$("input:text[name*='kemu']",this).each(function(){
$("#show").append(getKeMu($(this).attr("name"))+"数量:"+$(this).val()+" ")
});
$("#show").append("<br/><br/>") }else if(trID.indexOf('3')>0){
$("#show").append("高中人数:"+$(this).find("input:[name=jibie_val]").val()+" 》》 ");
$("input:text[name*='kemu']",this).each(function(){
$("#show").append(getKeMu($(this).attr("name"))+"数量:"+$(this).val()+" ")
});
$("#show").append("<br/><br/>")
}else{alert(4);}
});
})
function getKeMu(namestr){
switch(namestr){
case "kemu1":
return "语文";
break;
case "kemu2":
return "数学";
break;
case "kemu3":
return "英语";
break;
default:
return "";
break;
}
}
})
</script>
</head>
<body>
<input type="button" id="btn1" value="ckedadad" />
<table class="tableBorder" width="100%" border="0" cellspacing="1" bgcolor="#eff0eb" id="table1">
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">年级库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF">
<input type="checkbox" name="NJid" value="小学" id="jibie1" >
小学
<input type="checkbox" name="NJid" value="初中" id="jibie2">
初中
<input type="checkbox" name="NJid" value="高中" id="jibie3">
高中 </td>
</tr>
<tr bgcolor="#f7f7f7">
<td width="12%" height="30" align="right" bgcolor="#FFFFFF">科目库:</td>
<td width="87%" height="30" bgcolor="#FFFFFF"><input type="checkbox" name="KMid" value="语文" id="kemu1">
语文
<input type="checkbox" name="KMid" value="数学" id="kemu2">
数学
<input type="checkbox" name="KMid" value="英语" id="kemu3">
英语</td>
</tr>
</table>
<table width="100%" id="table2" border="1" cellpadding="2" bordercolor="blue" style="border-collapse:collapse">
</table><hr /><div id="show"></div>
</body>
</html>
$("#table2 #"+trID+" td:odd").append("<div class='div_"+$(this).attr("id")+"'>"+$(this).val()+":<input type='text' name='kemu_val'/></div>");改为$("#table2 #"+trID+" td:odd").append("<div class='div_"+$(this).attr("id")+"'>"+$(this).val()+":<input type='text' name='"+$(this).attr("id")+"'/></div>");
谢谢大侠的帮忙,你的这个程序很适合我,但是有点小问题需要您再帮我改一改。现在的程序是在两列的情况下可以正常使用,但是如果我把整个的列数增加成3列或者4列的情况,会出现问题,不知道能否帮我改一改。谢谢