Jquery抓取一个选择的id,其中有多个具有相同类名的选择
我有一个表单,其中包含使用 jquery 克隆的元素。所以可以有多个
选择中的选项显示/隐藏
$(document).ready(function(){
$('.hide').hide();
$('select.ticket').change(function(){
var hideNo=this.id.substr(6);
console.log('This='+this); //debug for firebug
console.log('Id='+hideNo);//debug for firebug
console.log('Value='+this.value);//debug for firebug
$('#hide'+hideNo).toggle(this.value == 'child'||this.value == 'youth');
});
$(".ticket").change();
});
适用于第一个 id,但不适用于任何后续的 id。
请问我做错了什么?
I have a form that has elements cloned using jquery. So there could multiple <select> with the same class name but different id eg. <select name="ticket1" id="ticket1" class="ticket">
The choice from a select shows/hides a <div id="hide1" class="hide">...</div>
This jquery code...
$(document).ready(function(){
$('.hide').hide();
$('select.ticket').change(function(){
var hideNo=this.id.substr(6);
console.log('This='+this); //debug for firebug
console.log('Id='+hideNo);//debug for firebug
console.log('Value='+this.value);//debug for firebug
$('#hide'+hideNo).toggle(this.value == 'child'||this.value == 'youth');
});
$(".ticket").change();
});
Works for the first id, but not any subsequent ones.
Whay am I doing wrong please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将上面代码中的第三行更改为:
Try changing the third line in your code above to:
使用
live()
或delegate()
因此事件处理程序适用于当前或将来添加的选择器匹配的任何元素。另一种选择,如果您使用内置的
.clone()
方法。您可以使用.clone(true)
克隆与该元素关联的任何数据和事件。Either use
live()
ordelegate()
so the event handler works for any elements that match the selector currently or added in the future.Another option, if you are using the built in
.clone()
method. You can use.clone(true)
to clone any data and events tied to that element.