2010-05-12 5 views
0

Эй, ребята, у меня есть быстрый вопрос, у меня есть диалоговое окно с несколькими ссылками с разными атрибутами. Каждый раз, когда нажимается ссылка, атрибут src печатается внутри диалогового окна, так что каждая ссылка имеет уникальный вывод в диалоговом окне. Моя проблема просто в том, что в каждом окне есть только первый заголовок src, и я бы хотел изменить это также с каждым щелчком. Я выделил строку, содержащую заголовок, чтобы показать проблему. Если у кого-нибудь есть идеи, я был бы признателен. EDITназвание диалогового окна обновления для каждого щелчка

<a class="open" src="something" title="Click to play">link</a> 
<a class="open" src="something else" title="Click to play">link2</a> 

$(function() { 

$(\"#show\").dialog({ 
hide: 'clip', 
width: 400, 
height: 150, 
position: 'center', 
show: 'clip',stack: true, 
minHeight: 25, 
minWidth: 100, 
autoOpen: false, 
resizable:false}); 

$('.open').click(function() { 
var src=$(this).attr('src'); 
$('#show').html(src); 
$('#show').dialog({ title: src }).dialog('open'); 
    }) 

}); 

ответ

2

Вам нужно либо создать диалог за пределами вашей функции один раз, и установить заголовок, или уничтожить предыдущий диалог.

Чтобы уничтожить предыдущую и создать новый каждый клик:

$("#show").dialog("destroy").dialog({ options }); 

Чтобы просто установить заголовок и текст каждый раз, и создать диалог один раз (лучше подход):

$("#show").dialog({ 
    hide: 'clip', 
    width: 400, 
    height: 150, 
    position: 'center', 
    show: 'clip', 
    stack: true, 
    minHeight: 25, 
    minWidth: 100, 
    autoOpen: false, 
    resizable: false 
}); 
$('.open').click(function() { 
    var src = $(this).attr('src'); 
    $('#show').html(src).dialog('option', 'title', src).dialog('open'); 
    //or... 
    $('#show').html(src).dialog('option', {title: src}).dialog('open'); 
}); 
+0

красивый спасибо Nick – Scarface

+0

еще раз спасибо Ник, но когда я попробую второй метод, заголовок пуст – Scarface

+0

Я обновил свое сообщение, чтобы показать, что я использовал – Scarface

1

Обновление JQuery UI Название

$('#show').data('title.dialog', 'new title'); 
Смежные вопросы