Jquery UI 函数在打开时工作第一次,但不是第二次



使用 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() 返回的值,并且$('#all-tabs').children().size()应该不同。我必须刷新页面以重置变量。如何重置变量并在每次加载对话框时重新初始化它们。

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

open: function() {
  var showPerPage = 5;
  var numberOfItems = $('#all-tabs').children(':visible').length; 
  console.log(numberOfItems + ' ' + showPerPage);
}

最新更新