更新每次单击的对话框标题

时间:2010-05-12 18:49:20

标签: jquery

嘿伙计我有一个简单的问题,我有一个对话框,其中包含多个具有不同属性的链接。每次单击链接时,都会在对话框内打印属性src,以便每个链接在对话框中都有唯一的输出。我的问题很简单,每个框中只有第一个src标题,我想在每次点击时也改变它。我将包含标题的行分开以显示问题。如果有人有任何想法我会很感激。 的修改

<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 个答案:

答案 0 :(得分: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');
});

答案 1 :(得分:1)

更新jQuery UI标题

$('#show').data('title.dialog', 'new title');