¿Cómo puedo agregar id de diálogo específico?
Sólo quiero aplicar estilo independiente para cada cuadro de diálogo y tratar de hacer algo como esto:

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');

pero de diálogo creada en el interior del cuerpo de la etiqueta sin id y no puedo aplicar el estilo.

OriginalEl autor Vladimir | 2012-07-03

4 Comentarios

  1. 7

    Si su objetivo es sólo para usar este identificador en el css, usted puede lograr esto con una clase css en su lugar.

    La dialogClass opción le permite especificar una clase que será aplicado para el diálogo. Usted puede entonces utilizar esta clase en su selectores para aplicar un estilo diferente para un diálogo específico.

    Yo trato de clase y se está trabajando para mí. Gracias. Pero ID es mejor en mi opinión – tiene mayor prioridad que el selector de clase.. es por eso que estoy buscando la posibilidad de agregar ID.
    Sí, pero debido a que la API no ofrece nada para la IDENTIFICACIÓN, usted tiene que utilizar una clase, o a hackear. Si usted desea absolutamente un ID, puede utilizar el siguiente hack (pero es un poco sucio). Justo después de abrir la ventana emergente, puede eliminar la clase y agregar el id. $(“.su clase”).removeClass(“.su clase”).attr(“id”, “su id”). Sin embargo, creo que el “dirtyness” causar por la utilización de una clase donde se desea un ID duele menos que este horrible hack. Y siempre se puede aumentar la prioridad de la regla con la repetición de la regla completa con su clase

    OriginalEl autor Samuel Rossille

  2. 9

    Un poco tarde, pero esta es la forma en que se podía hacer:

    $('#placeholderId').dialog('widget').attr('id', 'dialogId');

    $(‘#placeholderId’).diálogo(‘widget’) le da la rodea <div> del cuadro de diálogo, que es probablemente el elemento que desee configurar el ID.

    Me parece DEMENCIAL que jquery diálogo no tiene opciones para agregar una clase/id a los padres. Quiero decir, completamente loco. También loco es el hecho de los cuadros de diálogo no tienen contenedor (excepto el contenedor externo) para el título y el contenido del div …
    La mejor manera de hacer esto.

    OriginalEl autor Andreas

  3. 1

    El problema en el ejemplo de código es que se añaden los id para el resultado de .find('.ui-dialog-titlebar').remove() en lugar del propio diálogo. El siguiente debe trabajar para usted.

    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,
      id: "ololo",
      title: false,
      autoOpen: true,
      closeOnEscape: false,
      buttons: [
        { text: "Отправить запрос" , click: function() { $(this).find('form').submit();                $(this).dialog('close'); } },
        { text: "Отмена", click: function() { $(this).dialog('close'); } }
      ]
    })
    
    $current_dialog.parent().find('.ui-dialog-titlebar').remove();
    $current_dialog.attr('id', 'awesome_dialog');
    Y cómo debe ser hecho correctamente?
    Hay un montón de opciones. Yo personalmente incluiría la id en el propio HTML, en su caso, en el order_mini_site_form. También se puede utilizar una clase CSS por el dialogClass opción como otra de la comunidad mencionada. Como última opción si sólo tiene un cuadro de diálogo en la página sólo podría utilizar el ui-dialog clase de interfaz de usuario jQuery ya se pone en el cuadro de diálogo. Por ejemplo ui-dialog { color: yellow; } hará todo el texto en el cuadro de diálogo de color amarillo.

    OriginalEl autor TJ VanToll

  4. 0

    No estoy de acuerdo con la votación de respuesta (no es un ataque personal sólo está de acuerdo con el sucio “hack”). Es cierto que no hay ninguna opción de ID de Cuadro de Diálogo jquery, sin embargo si llegas a la conclusión de que una tarjeta de IDENTIFICACIÓN es necesario, el código siguiente debe ser suficiente. Mi guía JS estoy en vías de desarrollo fue de mucho en la necesidad de un ID.

    //Aquí estoy declarando el insertan de forma dinámica el contenido de [e.g lo que yo estoy creando una ID de tempstep, este será utilizado con la llamada de abajo para agregar un ID en el Cuadro de Diálogo jQuery

    Código : jQuery ('<div id="tempstep"></div>').dialog({

    Código : jQuery('#tempstep').parent().attr("id","dialogBox");

    OriginalEl autor EdJIMucator

Dejar respuesta

Please enter your comment!
Please enter your name here