| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2029 人关注过本帖
标题:请教在JavaScript中的下拉菜单怎样显示
只看楼主 加入收藏
zl芊芊zl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:828
专家分:17
注 册:2006-10-17
结帖率:100%
收藏
 问题点数:0 回复次数:7 
请教在JavaScript中的下拉菜单怎样显示
我在网页里面想实现动态增加和减少一行,现在可以实现了,可是我在增加的过程中 在一行中有下拉菜单,下拉菜单中的内容不显示,都是空白的,谁帮帮忙看看要怎么做吧,谢谢啦!!!
下面是我的代码
程序代码:
<script language="javascript">
function add(){
  //取得表格
  var table = document.getElementById("table1");
  //取得行数;
  var num = table.rows.length;

  //增加一行
  var newrow1 = table.insertRow(num-1);
  var cell1 = newrow1.insertCell();
     var cell2 = newrow1.insertCell();
     var cell3 = newrow1.insertCell();
     var cell4 = newrow1.insertCell();
          var cell5 = newrow1.insertCell();
               var cell6 = newrow1.insertCell();
                 var cell7 = newrow1.insertCell();
               cell1.align="center";
cell2.align="center";
cell3.align="center";
cell4.align="center";
cell5.align="center";
cell6.align="center";
cell7.align="center";
  //增加行元素
  var inputcell3 = document.createElement("<input maxLength=6 type=text name='' size=8>");
     cell3.appendChild(inputcell3);
  var inputcell4 = document.createElement("<textarea name='' rows=3 cols=14 >");
     cell4.appendChild(inputcell4);
  var inputcell5 = document.createElement("<textarea name='' rows=3 cols=14 >");
     cell5.appendChild(inputcell5);
  var inputcell6 = document.createElement("<select name='' style='width=120'><option value=''></option><option value='OK'>OK</option><option value='NG'>NG</option><option value='Other'>Other</option></select>");
     cell6.appendChild(inputcell6);
  var inputcell7 = document.createElement("<textarea name='' rows=3 cols=14 ></textarea>");
     cell7.appendChild(inputcell7);
  //刷新标签显示
  frash();

 }

 function del(obj){
  //取得按钮所在行
  var i = obj.parentNode.parentNode.rowIndex;
      var tab = document.getElementById("table1");
      //删除按钮所在行

 var num = tab.rows.length;
alert(num);

 if(num==3){

 alert("不能全部删除,请保留至少一条!");

 return false;
;
}
  tab.deleteRow(i);  
      frash();

 }

 function frash(){
  var table = document.getElementById("table1");
     var num = table.rows.length;
     //计算动态元素个数
  var n = num-2;
     for(i=1;i<=n;i++){
   //设置标签值
      table.rows[i].cells[0].innerHTML="<img border='0' src=/ICO_Delete.gif onClick='del(this);' style='cursor:hand'>";
      //设置属性值
      table.rows[i].cells[1].innerText=""+i+"";
      table.rows[i].cells[2].childNodes[0].setAttribute("name","id"+i);
      table.rows[i].cells[3].childNodes[0].setAttribute("name","reason"+i);
      table.rows[i].cells[4].childNodes[0].setAttribute("name","remark"+i);
      table.rows[i].cells[5].childNodes[0].setAttribute("name","status"+i);
      table.rows[i].cells[6].childNodes[0].setAttribute("name","op"+i);
     } 

 }
</script>
搜索更多相关主题的帖子: JavaScript 菜单 
2008-01-11 16:50
wyg4859
Rank: 2
等 级:新手上路
威 望:4
帖 子:883
专家分:0
注 册:2006-8-2
收藏
得分:0 
哥们,你var inputcell4 = document.createElement("<textarea name='' rows=3 cols=14 >");
太不规范了!

http://www.找到组织!找到党!
2008-01-11 17:30
zl芊芊zl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:828
专家分:17
注 册:2006-10-17
收藏
得分:0 
原帖由 [bold][underline]wyg4859[/underline][/bold] 于 2008-1-11 17:30 发表 [url=http://bbs.][/url]
哥们,你var inputcell4 = document.createElement("");
太不规范了!

怎样写算是规范呢?这样写也可以执行了呀
不好意思,我是新手,帮忙指点一下,谢谢啦

不管明天成功与否,只求今日问心无愧!★為了明天加把勁兒☆
2008-01-12 00:04
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
<script language="javascript">
function add(){
  //取得表格
  var table = document.getElementById("table1");
  //取得行数;
  var num = table.rows.length;

  //增加一行
  var newrow1 = table.insertRow(num-1);
  var cell1 = newrow1.insertCell();
     var cell2 = newrow1.insertCell();
     var cell3 = newrow1.insertCell();
     var cell4 = newrow1.insertCell();
          var cell5 = newrow1.insertCell();
               var cell6 = newrow1.insertCell();
                 var cell7 = newrow1.insertCell();
               cell1.align="center";
cell2.align="center";
cell3.align="center";
cell4.align="center";
cell5.align="center";
cell6.align="center";
cell7.align="center";
  //增加行元素
  var inputcell3 = document.createElement("<input maxLength=6 type=text name='' size=8>");
     cell3.appendChild(inputcell3);
  var inputcell4 = document.createElement("<textarea name='' rows=3 cols=14 >");
     cell4.appendChild(inputcell4);
  var inputcell5 = document.createElement("<textarea name='' rows=3 cols=14 >");
     cell5.appendChild(inputcell5);
  var inputcell6 = document.createElement("<select name='' style='width=120'>");
   var op1=document.createElement("option");
  op1.setAttribute("value"," ");
  op1.setAttribute("innerText"," ");
  inputcell6.appendChild(op1);
  var op2=document.createElement("option");
  op2.setAttribute("value","OK");
  op2.setAttribute("innerText","OK");
  inputcell6.appendChild(op2);
  var op3=document.createElement("option");
  op3.setAttribute("value","NG");
  op3.setAttribute("innerText","NG");
  inputcell6.appendChild(op3);
  var op4=document.createElement("option");
  op4.setAttribute("value","Other");
  op4.setAttribute("innerText","Other");
  inputcell6.appendChild(op4);
     cell6.appendChild(inputcell6);
  var inputcell7 = document.createElement("<textarea name='' rows=3 cols=14></textarea>");
     cell7.appendChild(inputcell7);
  //刷新标签显示
  frash();
}
function del(obj){
  //取得按钮所在行
  var i = obj.parentNode.parentNode.rowIndex;
      var tab = document.getElementById("table1");
      //删除按钮所在行
var num = tab.rows.length;
alert(num);
if(num==3){
alert("不能全部删除,请保留至少一条!");
return false;
;
}
  tab.deleteRow(i);  
      frash();
}
function frash(){
  var table = document.getElementById("table1");
     var num = table.rows.length;
     //计算动态元素个数
  var n = num-2;
     for(i=1;i<=n;i++){
   //设置标签值
      table.rows[i].cells[0].innerHTML="<img border='0' src=/ICO_Delete.gif onClick='del(this);' style='cursor:hand'>";
      //设置属性值
      table.rows[i].cells[1].innerText=""+i+"";
      table.rows[i].cells[2].childNodes[0].setAttribute("name","id"+i);
      table.rows[i].cells[3].childNodes[0].setAttribute("name","reason"+i);
      table.rows[i].cells[4].childNodes[0].setAttribute("name","remark"+i);
      table.rows[i].cells[5].childNodes[0].setAttribute("name","status"+i);
      table.rows[i].cells[6].childNodes[0].setAttribute("name","op"+i);
     }
}
</script>

[[italic] 本帖最后由 zhulei1978 于 2008-1-13 20:10 编辑 [/italic]]

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2008-01-13 19:36
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
你这样整个html代码放在createElement中,还不如直接用innerHTML……
规范的操作
var select=document.createElement('select');
select.name='xxxxx';
select.style.width=xxxx;
var options=select.options;
//for 循环加入option
options.push(new Option(text,value));

其他的同理
var inputcell3 = document.createElement("input");
inputcell3.maxLength=6
inputcell3.type='text'
inputcell3.name='xxx'
inputcell3.size=8;

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2008-01-14 08:53
zl芊芊zl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:828
专家分:17
注 册:2006-10-17
收藏
得分:0 
问题解决了,谢谢斑竹
我还有个问题,就是如何把table有多少行传到提交的那一页
如果我不增加一行,就把1传到下一页,插入一行数据,增加了i行就传i+1到下一页,插入n+1行数据,我要根据这个值来确定我的for循环中的i的最大值能告诉我要怎么取吗
谢谢了

不管明天成功与否,只求今日问心无愧!★為了明天加把勁兒☆
2008-01-14 15:20
wyg4859
Rank: 2
等 级:新手上路
威 望:4
帖 子:883
专家分:0
注 册:2006-8-2
收藏
得分:0 
当你点击一个按钮提交的时候,你可以触发一个函数,这个函数用来读取现有的行数,用JS传递过去就行了

http://www.找到组织!找到党!
2008-01-14 15:31
zl芊芊zl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:828
专家分:17
注 册:2006-10-17
收藏
得分:0 
是这个函数吧
 var table = document.getElementById("table1");
     var num = table.rows.length;
     //计算动态元素个数
  var n = num-2;
我把它写在提交按钮检查的那个js里面了,可是js就没有反应了
就是这个n,要怎么传递呀,在下一页我通过什么取呢

不管明天成功与否,只求今日问心无愧!★為了明天加把勁兒☆
2008-01-14 16:02
快速回复:请教在JavaScript中的下拉菜单怎样显示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023935 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved