用javascript动态添加Radio或checkbox,怎样指name属性? 上面NewRadio.name='NewRadio';才对,因为我要的是指明它们是同一个radio,就是说这一批radio只能选其中一个 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 元素的 name 是只读的,即你document.createElement创建的对象无法赋name值解决办法一:innerHTML +=解决办法二:document.createElement("<input type='radio' name='NewRadio"+ i +"'>"); <body><script>var NewRadio;for(i=0;i<10;i++){ NewRadio=document.createElement('input'); Textnode=document.createTextNode('NewRadio'+i); NewRadio.type='radio'; NewRadio.name='NewRadio'+i; NewRadio.onclick=function() { alert(this.name); } document.body.appendChild(NewRadio); document.body.appendChild(Textnode); }</script></body> meizz(梅花雪) clare2003(忘情火) 你们两种方法我之前都用过, document.createElement("<input type='radio' name='NewRadio"+ i +"'>");这种方法不兼容标准,innerHTML +=可以, 感觉不太好clare2003(忘情火),这样虽然是可以输入name值.但你试下就知道结果了,所有的radio都不能选择的 <body><script>var NewRadio;for(i=0;i<10;i++){ NewRadio=document.createElement('input'); Textnode=document.createTextNode('NewRadio'+i); NewRadio.type='radio'; document.body.appendChild(NewRadio); document.body.appendChild(Textnode); NewRadio.name='NewRadio'+i; NewRadio.checked=false; NewRadio.onclick=function() { this.checked=true; alert(this.name); } }</script></body> 方法好像不错, 但如果我想做到好像一般普通的radio集那样, 应该要怎样改呢?如普通radio集同一时间只能有一个被选中,<form id="aa"><input type="radio" name="rr">11<input type="radio" name="rr">22<input type="radio" name="rr">33<input type="radio" name="rr">44</form>想这样遍历又怎样做呢var radios =document.getElementById('aa').rr;for(i=0;i< radios.length;i++){ ....} <form id="aa"><input type="radio" name="rr">11<input type="radio" name="rr">22<input type="radio" name="rr">33<input type="radio" name="rr">44</form>//遍历var radios =document.getElementsByName('rr');for(i=0;i< radios.length;i++){ ....} <SCRIPT>function f1(){var radios =document.getElementById('aa').rr;for(i=0;i< radios.length;i++){ alert(radios[i].id);}}</SCRIPT><form id="aa"><input type="button" onclick=f1()><input type="radio" name="rr" ID=Radio1>11<input type="radio" name="rr" ID=Radio2>22<input type="radio" name="rr" ID=Radio3>33<input type="radio" name="rr" ID=Radio4>44</form> 晕. 我的意思是用clare2003(忘情火) 的方法动态创建的radio集, 怎样遍历, 我那个是一个直接的html的例子 <body><form id="aa"></form><script>var NewRadio;for(i=0;i<10;i++){ NewRadio=document.createElement('input'); Textnode=document.createTextNode('NewRadio'); NewRadio.type='radio'; document.getElementById('aa').appendChild(NewRadio); document.getElementById('aa').appendChild(Textnode); NewRadio.name='NewRadio'; NewRadio.checked=false; NewRadio.onclick=function() { // this.checked=true; // alert(document.getElementById('aa').NewRadio.length); } }//下面出错,因为radios 为nullvar radios =document.getElementById('aa').NewRadio;for(i=0;i< radios.length;i++){ alert(radios[i].name)}</script></body> String类型是没有固定大小的原始类型? 如何实现坐标随着图片的缩小等比例的缩小 js处理图片问题 往table中动态添加行,在IE中可以,在火狐中不行,为什么 jquery拖动层,看了网上好多,大多都是js写的。自己写了个可是不理想 求一正则表达式,谢谢 关于innerHTML的问题 重新讨论这个效果如何实现 location的问题 javascript如何屏蔽掉IE的工具栏和菜单栏? 怎么让jquery的点击事件自动执行? 弹出窗口的刷新问题 急
解决办法一:innerHTML +=
解决办法二:document.createElement("<input type='radio' name='NewRadio"+ i +"'>");
<script>
var NewRadio;
for(i=0;i<10;i++){
NewRadio=document.createElement('input');
Textnode=document.createTextNode('NewRadio'+i);
NewRadio.type='radio';
NewRadio.name='NewRadio'+i;
NewRadio.onclick=function()
{
alert(this.name);
}
document.body.appendChild(NewRadio);
document.body.appendChild(Textnode);
}
</script>
</body>
document.createElement("<input type='radio' name='NewRadio"+ i +"'>");
这种方法不兼容标准,innerHTML +=可以, 感觉不太好clare2003(忘情火),这样虽然是可以输入name值.但你试下就知道结果了,所有的radio都不能选择的
<script>
var NewRadio;
for(i=0;i<10;i++){
NewRadio=document.createElement('input');
Textnode=document.createTextNode('NewRadio'+i);
NewRadio.type='radio';
document.body.appendChild(NewRadio);
document.body.appendChild(Textnode);
NewRadio.name='NewRadio'+i;
NewRadio.checked=false;
NewRadio.onclick=function()
{
this.checked=true;
alert(this.name);
}
}
</script>
</body>
如普通radio集同一时间只能有一个被选中,
<form id="aa">
<input type="radio" name="rr">11
<input type="radio" name="rr">22
<input type="radio" name="rr">33
<input type="radio" name="rr">44
</form>
想这样遍历又怎样做呢
var radios =document.getElementById('aa').rr;
for(i=0;i< radios.length;i++)
{
....
}
<input type="radio" name="rr">11
<input type="radio" name="rr">22
<input type="radio" name="rr">33
<input type="radio" name="rr">44
</form>
//遍历var radios =document.getElementsByName('rr');
for(i=0;i< radios.length;i++)
{
....
}
function f1()
{
var radios =document.getElementById('aa').rr;
for(i=0;i< radios.length;i++)
{
alert(radios[i].id);
}
}
</SCRIPT>
<form id="aa">
<input type="button" onclick=f1()>
<input type="radio" name="rr" ID=Radio1>11
<input type="radio" name="rr" ID=Radio2>22
<input type="radio" name="rr" ID=Radio3>33
<input type="radio" name="rr" ID=Radio4>44</form>
<form id="aa">
</form>
<script>
var NewRadio;
for(i=0;i<10;i++){
NewRadio=document.createElement('input');
Textnode=document.createTextNode('NewRadio');
NewRadio.type='radio';
document.getElementById('aa').appendChild(NewRadio);
document.getElementById('aa').appendChild(Textnode);
NewRadio.name='NewRadio';
NewRadio.checked=false;
NewRadio.onclick=function()
{
// this.checked=true;
// alert(document.getElementById('aa').NewRadio.length);
}
}
//下面出错,因为radios 为null
var radios =document.getElementById('aa').NewRadio;
for(i=0;i< radios.length;i++)
{
alert(radios[i].name)
}
</script>
</body>