下面这段代码点击一辆,二两。。都会在客户端生成新的 select元素和radio按钮,我想在新生成的 radio按钮上注册事件,点击该按钮后获得按钮的id.
我注册事件的代码:$(html>"input:eq(1)").click(function (){alert(this.id);});
但是点击每个radio按钮得到的 id 都是一样的。求解,怎么实现,谢谢!!
html代码<table width="750" border="0" align="center" cellpadding="0" cellspacing="0" class="div_con">
<tr>
<td id="input"><span class="f_red">*</span> 是否有车:
<input type="radio" name="radiobut" value="radiobutton" />
有
<input type="radio" name="radiobut" value="radiobutton" />
无 您有
<input type="radio" id="radio1" name="radiobutton" value="1" checked="checked" onclick="add(this)" />
一辆
<input type="radio" id="radio2" name="radiobutton" value="2" onclick="add(this)" />
二辆
<input type="radio" id="radio3" name="radiobutton" value="3" onclick="add(this)"/>
三辆
<input type="radio" id="radio4" name="radiobutton" value="4" onclick="add(this)" />
四辆
<input type="radio" id="radio5" name="radiobutton" value="5" onclick="add(this)" />
五辆</td>
</tr>
<tr>
<td id="xiandai1" valign="middle" style="height:40px">
<div >
<input id="rada0" name="rad0" type="radio" checked="checked " /> 国产
<input id="radb0" name="rad0" type="radio"/> 进口
<span class="f_red">*</span> 品牌:
<select name="select4" style="width:120px;">
<option value="高尔夫">X:现代</option>
<option value="沃尔沃">X:沃尔沃</option>
<option value="本田">X:本田</option>
<option value="奔驰">X:奔驰</option>
</select>
车系:
<select name="select5" style="width:120px;">
<option value="高尔夫">X:现代</option>
</select>
车型:
<select name="select6" style="width:220px;">
<option value="高尔夫">X:现代</option>
</select><br /></div>
</td>
</tr>
<tr>
<td valign="middle" style="height:60px"><div align="center"><img src="images/button_2.jpg" width="107" height="25" /></div></td>
</tr>
</table>
jquery代码: $(function (){
$("#input>input:gt(1)").click(function(){
var n=this.value;
var html=$('#xiandai1>div:eq(0)').clone();
$("#xiandai1").empty();
for(var i=0;i<n;i++)
{
$("#xiandai1").append(html);
//改变rad的name属性
$(html>"input:eq(0)").attr({name:"rad"+i});
$(html>"input:eq(1)").attr({name:"rad"+i});
$(html>"input:eq(0)").attr({id:"rada"+i});
$(html>"input:eq(1)").attr({id:"radb"+i});
//alert($(html>'input:eq(1)').attr('id'));
$(html>"input:eq(1)").click(function (){alert(this.id);});
//改变select 的name属性
$(html>"select:eq(0)").attr({name:"scb"+i});
$(html>"select:eq(1)").attr({name:"scs"+i});
$(html>"select:eq(2)").attr({name:"scm"+i});
var html=$('#xiandai1>div:eq('+i+')').clone();
//alert(html[0]);
}
});
});
我注册事件的代码:$(html>"input:eq(1)").click(function (){alert(this.id);});
但是点击每个radio按钮得到的 id 都是一样的。求解,怎么实现,谢谢!!
html代码<table width="750" border="0" align="center" cellpadding="0" cellspacing="0" class="div_con">
<tr>
<td id="input"><span class="f_red">*</span> 是否有车:
<input type="radio" name="radiobut" value="radiobutton" />
有
<input type="radio" name="radiobut" value="radiobutton" />
无 您有
<input type="radio" id="radio1" name="radiobutton" value="1" checked="checked" onclick="add(this)" />
一辆
<input type="radio" id="radio2" name="radiobutton" value="2" onclick="add(this)" />
二辆
<input type="radio" id="radio3" name="radiobutton" value="3" onclick="add(this)"/>
三辆
<input type="radio" id="radio4" name="radiobutton" value="4" onclick="add(this)" />
四辆
<input type="radio" id="radio5" name="radiobutton" value="5" onclick="add(this)" />
五辆</td>
</tr>
<tr>
<td id="xiandai1" valign="middle" style="height:40px">
<div >
<input id="rada0" name="rad0" type="radio" checked="checked " /> 国产
<input id="radb0" name="rad0" type="radio"/> 进口
<span class="f_red">*</span> 品牌:
<select name="select4" style="width:120px;">
<option value="高尔夫">X:现代</option>
<option value="沃尔沃">X:沃尔沃</option>
<option value="本田">X:本田</option>
<option value="奔驰">X:奔驰</option>
</select>
车系:
<select name="select5" style="width:120px;">
<option value="高尔夫">X:现代</option>
</select>
车型:
<select name="select6" style="width:220px;">
<option value="高尔夫">X:现代</option>
</select><br /></div>
</td>
</tr>
<tr>
<td valign="middle" style="height:60px"><div align="center"><img src="images/button_2.jpg" width="107" height="25" /></div></td>
</tr>
</table>
jquery代码: $(function (){
$("#input>input:gt(1)").click(function(){
var n=this.value;
var html=$('#xiandai1>div:eq(0)').clone();
$("#xiandai1").empty();
for(var i=0;i<n;i++)
{
$("#xiandai1").append(html);
//改变rad的name属性
$(html>"input:eq(0)").attr({name:"rad"+i});
$(html>"input:eq(1)").attr({name:"rad"+i});
$(html>"input:eq(0)").attr({id:"rada"+i});
$(html>"input:eq(1)").attr({id:"radb"+i});
//alert($(html>'input:eq(1)').attr('id'));
$(html>"input:eq(1)").click(function (){alert(this.id);});
//改变select 的name属性
$(html>"select:eq(0)").attr({name:"scb"+i});
$(html>"select:eq(1)").attr({name:"scs"+i});
$(html>"select:eq(2)").attr({name:"scm"+i});
var html=$('#xiandai1>div:eq('+i+')').clone();
//alert(html[0]);
}
});
});
改成
$(html>"input:radio").each(function(){ $(this).attr('id');});
试试
alert(this.id + "-" + $(this).attr("id"));
});
我要的是 div 里的“国产”或“进口”的radio按钮被点击后触发事件,不同的按钮触发该事件能得到该按钮的的id
var i;
for (i = 0; i < nodes.length; i += 1) {
nodes[i].onclick = function (i) {
return function (e) {
alert(i);
};
}(i);
}
};
$(function(){
$.each($('#input input[type=radio]'),function(index,el){
$(this).click(function(){
if(index > 1){
var idObj = $(this).attr('id');
var valueObj = el.value;
alert(idObj);
alert(valueObj);
}
});
});
});
谢谢大家
$('input[type=radio]').live('click',function(){
//dosomething.....
})
})这样就为所有的单选按钮都绑定了一个click事件
谢谢了