1

使用 jquery ui 对话框的 Open 属性,我正在初始化两个变量。

                      $('<div><b><center>'+ text +'</center></b></div>').dialog({
                            title: '<b>User(s) with a similar name</b>', 
                            modal: true,
                            autoOpen: true,
                            height: 400, 
                            width: 400,
                            resizable: false,
                            open: function() {
                                var show_per_page = 5;
                                var number_of_items = $('#all-tabs').children().size(); 
                                alert(number_of_items+' '+show_per_page);
                            },
                            buttons: {
                                "Close": function(){
                                    //alert($(this).attr('class'));
                                    number_of_items = 0;
                                    $(this).dialog('close');
                                    return false;
                                }
                            }
                        });

但是$('#all-tabs').children().size()即使在我使用关闭按钮关闭对话框之后,对话框仍保留 for 返回的值,并且$('#all-tabs').children().size()应该不同。我必须刷新页面以重置变量。如何在每次对话框加载时重置变量并重新初始化它们。

4

1 回答 1

1

每次打开对话框时,您的代码都会重新计算子项的数量。我怀疑您只想要可见孩子的数量,在这种情况下尝试以下操作:

open: function() {
  var showPerPage = 5;
  var numberOfItems = $('#all-tabs').children(':visible').length; 
  console.log(numberOfItems + ' ' + showPerPage);
}
于 2012-12-11T08:11:10.367 回答