Jak dodać identyfikator do określonego okna dialogowego? Chcę po prostu zastosować oddzielny styl dla każdego okna i spróbować zrobić to tak:JQuery UI dodać identyfikator do okna dialogowego
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');
ale okno utworzone wewnątrz znacznika body bez identyfikatora i nie mogę zastosować styl dla niego.
staram klasę i to działa na mnie. Dzięki. Identyfikator jest jednak moim zdaniem lepszy - ma wyższy priorytet niż selektor klasy. Dlatego szukam możliwości dodania identyfikatora. – Vladimir
Tak, ale ponieważ interfejs API nie zapewnia niczego dla identyfikatora, musisz użyć klasy lub zhakować. Jeśli absolutnie potrzebujesz identyfikatora, możesz użyć następującego hacka (ale jest trochę brudny). Zaraz po otwarciu okna możesz usunąć klasę i dodać identyfikator. $ ("twoja klasa"). removeClass ("twoja klasa"). attr ("id", "twoja-id"). Jednak myślę, że przyczyna "brudności" poprzez użycie klasy, w której chcesz, aby ID spadło mniej niż ten straszny hack. Zawsze możesz zwiększyć priorytet reguły, powtarzając całą regułę swoją klasą. –