我有一张表格,其中包含两列。
第一列是父级名称,第二列是子级名称。默认情况下选择第一个父元素。我隐藏了每个父级的子元素,除了第一个元素。
以下是代码,它的工作原理类似手风琴(一次只能显示一个):
第一列是父级名称,第二列是子级名称。默认情况下选择第一个父元素。我隐藏了每个父级的子元素,除了第一个元素。
以下是代码,它的工作原理类似手风琴(一次只能显示一个):
$(document).ready(function() {
var childs = $('.tableCellWBorderGray > div'); // child divs
childs.hide();
$("input:radio[name=attribute]").change(function(){
var parent = $(this).parent().next(); // In our case, second td
var kids = parent.children();
childs.slideUp('slow');
kids.slideDown('slow');
});
// select first element and trigger change event to show childs.
$('input:radio[name=attribute]:nth(0)').attr('checked',true).trigger('change');
});
这在其他浏览器上都运行良好。
但是在IE中,当文档模式为IE7标准
时,如果我点击第一个选中的元素,change
事件会被触发。虽然只有当我点击选中的元素时才会发生。我想防止这种情况发生。
我查看了为什么使用val()设置select的值时,jquery的change事件不会触发?
采纳的答案说:
change事件需要由用户启动的实际浏览器事件,而不是通过javascript代码。
有什么解决办法吗?