0

ローカル変数を備えたモーダルでパーシャルを表示するのに本当に苦労しています。私はJavascriptが初めてで、新しいダイアログフォームでパーシャルをレンダリングする方法を理解できないようです。現在、パーシャルを「display:none」でレンダリングし、「Click me」をクリックすると、パーシャルがページに表示され、空のダイアログ ボックスが開きます。残念ながら、私の意図は、ダイアログ ボックスに部分的に IN を表示することですが、これは機能していません。

景色:

    <div id="groups_show" style="display:none">
      <%= render partial: 'groups/group_full', :locals => {:group => group} %>
    </div>
    <%= link_to "Click me", root_url, class: "groups_showme" %>

Javascript:

$('.groups_showme').on('click', function(e) {
  e.preventDefault();
  $('#groups_show').show();
    var htmlString = $(this).html();
    var dialog_form = $('<div id="dialog-form">Loading</div>').dialog({
    autoOpen: false,
    width: 520,
    modal: true,
    open: function() {
      return $(this).html( htmlString );
    },
    close: function() {
      $('#dialog-form').remove();
    }
});
4

1 に答える 1

1

おそらくこれはあなたのために働くでしょう

$('.groups_showme').on('click', function(e) {
  e.preventDefault();

  $('<div id="dialog-form">Loading</div>').dialog({
        autoOpen: true,
        width: 520,
        modal: true,
        open: function() {
            $(this).append($('#groups_show').show());
        },
        close: function() {

        }
    });
});

ここを参照してください http://fiddle.jshell.net/aeuzF/3/

于 2013-09-21T08:05:52.623 に答える