JQuery UI将id添加到对话框中

Vla*_*mir 6 css jquery-ui

如何将ID添加到特定对话框?我只是想为每个对话框应用单独的样式,并尝试这样做:

var $order_dialog = $("<%= escape_javascript(render('order_mini_site_form', :layout => false)) %>");

var current_dialog = $order_dialog.dialog({
  width: 515,
  height: 575,
  modal: true,
  resizable: false,
  draggable: false,
  title: false,
  autoOpen: true,
  closeOnEscape: false,
  buttons: [
    { text: "????????? ??????" , click: function() { $(this).find('form').submit();    $(this).dialog('close'); } },
    { text: "??????", click: function() { $(this).dialog('close'); } }
  ]
}).parent().find('.ui-dialog-titlebar').remove();


$current_dialog.attr('id', 'awesome_dialog');
Run Code Online (Sandbox Code Playgroud)

但是在body标签内创建的对话框没有id,我无法为它应用样式.

And*_*eas 10

有点晚了,但这是如何做到的:

$('#placeholderId').dialog('widget').attr('id', 'dialogId');
Run Code Online (Sandbox Code Playgroud)

$('#placeholderId').dialog('widget')为您提供对话框的周围<div>,它很可能是您要设置ID的元素.

  • 我发现 jquery 对话框没有向父级添加类/ID 的选项,这真是太疯狂了。我的意思是,完全疯了。同样疯狂的是,对话框没有用于标题和内容 div 的容器(除了外部容器)... (2认同)

Sam*_*lle 9

如果您的目标只是在css中使用此ID,则可以使用css类来实现此目的.

dialogClass选项允许你指定将被应用到对话框类.然后,您可以在选择器中使用此类为特定对话框应用不同的样式.