日期:2014-05-17  浏览次数:20909 次

关于html的checkbox
有多个名称对应多个复选框(如下所示):


你的爱好是:(“口”为复选框)
游泳 口
骑车 口
健身 口
...


省略号表示后面还有其他的爱好选项。
问题:在不知道有多少选项的前提下,如何将复选框与之一一对应   并且打印出一个人具体选了哪几项?
先谢谢各位了!!
HTML CheckBox

------解决方案--------------------
引用:
Quote: 引用:

描述的好不明确,你的意思是,选择多个保存之后,展示页面显示的吗?

     就是说有多少爱好选项是不确定的 是后来由管理员来增删的  如果把复选框的个数定死了,一旦管理员增加一个爱好选项就会产生复选框个数不足。所以要设计一个循环来放置多个复选框。
    但问题是设计循环之后又如何知道一个人究竟选了哪些选项呢? 这个问题不会解决

你的意思是爱好可以在添加?爱好是有一张自己单独的表吗?如果有的话,就保存进去在提取出来遍历就好了
------解决方案--------------------

感觉需要一个有序数组把名称保存起来,再用循环讲复选框和名称一起循环
------解决方案--------------------
<script language="javascript">
var arr;
function btncheck(val){
arr = new Array();
var list = document.getElementsByName(val.name);
for(var i=0;i<list.length;i++){
  if(list[i].checked) {
   arr[arr.length] = list[i].value;
  }
}
}
function fuck(){
alert("LZ的爱好是:\n"+arr);
}
</script>


<input type="checkbox"  name="box" value="左手撸" onClick="btncheck(this)">左手撸 
<input type="checkbox" name="box" value="右手撸" onClick="btncheck(this)">右手撸
<input type="checkbox" name="box" value="左手飞机" onClick="btncheck(this)">左手打飞机
<input type="checkbox" name="box" value="右手打飞机" onClick="btncheck(this)">右手打飞机
<input type="button" value="点击查看LZ的爱好" onclick="fuck()"/>