1

你好我有一个很奇怪的问题我正在编写一个 Rails 应用程序,我正在尝试这样做:

if ($('.btnModal').exists()) {
  $('.btnModal').bind('click', function() {
    var $modal, fadeTime, modalCustomClass;

    $modal = $('#myModal');
    fadeTime = 1000;
    modalCustomClass = $(this).data('modal_content_selector').substring(1);
    $modal.removeClass(modalCustomClass).addClass(modalCustomClass);

    alert(modalCustomClass);
    alert($($(this).data('modal_content_selector')).html());
    alert($(this).data('modal_content_selector'));

    return $('.modal-body').html($($(this).data('modal_content_selector')).html());
  });
}

此行$modal.removeClass(modalCustomClass).addClass(modalCustomClass)导致这种情况:

第二个警报显示 selctor .modal-body 的 html,但如果没有这一行,情况是正确的,提到的选择器显示页面中表单的 html。我已经阅读了有关 live 和 delagate 方法的内容,但我不知道如何在这里使用它们

编辑:它是:这是目录显示:

- provide(:title, "#{ current_catalog.name }")
= render 'shared/desktop'
= render 'shared/file_upload'

这是模态部分:

      .modal.hide#myModal{ overflow: 'hidden', tabindex: '-1', role: 'dialog', 'aria-        hidden' => 'true' }
        .modal-body
           TEST

以及带有特定按钮的侧边栏的一部分:

          %li
            %a.btn.btnModal{ href: "#myModal", role: 'button', data: { toggle: 'modal',   'modal_content_selector' => '.file_upload' }, remote: 'true'}
              %i.icon-file
              New

另一个编辑:

这是整个渲染页面的html:

整页

4

1 回答 1

0

我刚刚得到启发并意识到我做这个 removeClass.addClass 的东西我在一个页面上有两个具有相同类的元素这就是为什么第二个警报显示第一个我需要的那个是在页面的最后一个位置所以像这样的东西:alert($($(this).data('modal_content_selector') + ':last').html()); 应该做的伎俩:D

于 2012-10-04T07:10:31.140 回答