我在jQuery UI手风琴中使用多部分表单。当用户点击“下一步”时,将打开尚未提交的下一部分。它在IE 8中无法正常工作 - 下一部分无法打开。任何人都对我在这里可以做什么有任何想法,以确保与IE 8兼容?
编辑UDPATE到问题:使用IE开发者工具,我发现代码在“next = i”处断开。错误指出“对象不支持此属性或方法”。关于我在这里做错了什么的想法?
$(":submit").live('click', function() {
whichButton = $(this).val();
})
$("#selection-form").validate({
submitHandler: function(form) {
var acc = $("#accordion");
//...
complete: function(e) {
$('#selection-information').attr('state', 1);
acc.children('.step').each(function(i){
if($(this).attr('state') == 0)
{
next = i;
return false;
}
})
if(whichButton=='complete'){
acc.accordion('activate',next);
}
//...
更新:问题似乎是尝试使用“next”激活,而不是使用特定的索引号(即使“next”应该标识要打开的索引)。如果我将“next”替换为实际索引号,则会打开该部分。关于如何解决这个具体问题的任何想法?
答案 0 :(得分:2)
我遇到了同样的问题。 IE非常挑剔正确的html 和确保在你的手风琴中,<h3></h3><div></div>
结构之外没有任何内容,例如,你有这个:
<h3>a header</h3>
<div>some content</div>
<h3>another header</h3>
<div>some more content</div>
它会起作用,但这不会:
<h3>a header</h3>
<div>some content</div>
<span>extra stuff</span>
<h3>another header</h3>
<div>some more content</div>
这都将在你调用.accordion()的任何元素内。
答案 1 :(得分:0)
显然,使用“下一个”这个名称存在冲突或问题。我在函数中将“next”更改为“nxt”,手风琴现在在IE8中工作。