切换类不工作
我在“toggleClass”方面遇到问题。该脚本的作用是根据单选按钮值添加一组新字段。该字段内有一个新的 div,默认情况下是隐藏的,只有在单击事件触发“a”时才会显示。起初它可以工作,但是一旦我单击另一个单选按钮或同一个单选按钮,“toggleClass”就不再工作。
这是代码:
$(document).ready(function(){
$('.duplicatorRadio').click(function() {
var this_index_limit = parseInt($(this).val());
for(var i = 0; i < this_index_limit; i++) {
if(!$('#text_box_' + i).length) {
var headerValue = parseInt(i) + 1;
$(
'<fieldset id="text_box_' + i + '"> <h3>Property ' + headerValue +' Information</h3> <a class="borrowerToggler" href="#">Show Co-Borrower</a> <div class="borrower hide"> <h5>Co-Borrower Information</h5></div></fieldset>'
).appendTo($(this).parent());
}
else if($('#text_box_' + i).css('display') == 'none') {
$('#text_box_' + i).show();
}
}
$('fieldset').each(function() {
var split_id = $(this).attr('id').split('_');
if(!split_id.length) return;
var index = parseInt(split_id[2]);
if(index >= this_index_limit) {
$(this).hide();
}
});
$("a.borrowerToggler").click(function(){
$(this).next("div").toggleClass("hide");
});
});
});
I'm having problem with 'toggleClass'. What this script do is it adds a new set of field depending on the radio buttons value. Inside the field is a new div that is hidden by default and will be displayed only if the 'a' is triggered by a click event. At first it works but once I click on another radio button or at the same radio button the 'toggleClass' dont work anymore.
here is the code:
$(document).ready(function(){
$('.duplicatorRadio').click(function() {
var this_index_limit = parseInt($(this).val());
for(var i = 0; i < this_index_limit; i++) {
if(!$('#text_box_' + i).length) {
var headerValue = parseInt(i) + 1;
$(
'<fieldset id="text_box_' + i + '"> <h3>Property ' + headerValue +' Information</h3> <a class="borrowerToggler" href="#">Show Co-Borrower</a> <div class="borrower hide"> <h5>Co-Borrower Information</h5></div></fieldset>'
).appendTo($(this).parent());
}
else if($('#text_box_' + i).css('display') == 'none') {
$('#text_box_' + i).show();
}
}
$('fieldset').each(function() {
var split_id = $(this).attr('id').split('_');
if(!split_id.length) return;
var index = parseInt(split_id[2]);
if(index >= this_index_limit) {
$(this).hide();
}
});
$("a.borrowerToggler").click(function(){
$(this).next("div").toggleClass("hide");
});
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用
.live()
方法绑定点击事件。这个演示
可能会对您有所帮助。Try by using
.live()
method to bind click event.This demo
might hlp you.