【问题标题】:How to: Update jQuery dialog div with new content from json如何:使用来自 json 的新内容更新 jQuery 对话框 div
【发布时间】:2011-07-06 04:18:19
【问题描述】:

我正在尝试使用 json 数组中的新内容更新对话框的 div,但遇到问题并请求一些指导。

我输出一个包含“名称”和“定义”标签的 json 数组。向用户呈现单选按钮列表。当用户单击具有以下结构的单选按钮时:

<input type="radio" value="23" name="statistic" id="stat-23" />

我获取单选按钮的值并使用它来识别我从我的 json 数组中引用的“名称”“定义”对。

然后我使用“名称”“定义”对来填充通常动态更新的 div。为此,我使用以下代码:

$('input[type=radio]').live( 'change', function(){
  if ( ! $(this).is(':checked') )
    return false;
  var stat_id = $(this).attr( 'id' ).replace( /stat-/, '' );
  refreshDefinition( stat_id );
  } );

function refreshDefinition( stat_id ) {
  var definition = definitions[ stat_id ];
  var div = $("<div id='definition'>"+definition.name+": "+definition.definition+"</div>");
  $('#definition').replaceWith( div );
  }

这在没有对话框的情况下可以正常工作(它会按原样更新),但是,如果有某种方法可以合并对话框,这样当用户单击按钮时,对话框就会出现并且它们会显示出来会更好。可以看到 'Name' 'Definition' 对,然后在满意时退出。

$('#definition').dialog();

我希望上面的代码显示更新后的数据,但似乎不允许这样做。

如果您对我如何解决此问题或任何替代方法有任何指导,我将不胜感激!

谢谢。

【问题讨论】:

  • 我发现了一个非常简单的实施指南,实际上最终实现了我想做的事情。你可以在这里阅读:raventools.com/blog/….

标签: json dynamic html dialog


【解决方案1】:

您是否尝试过更新对话框内容?

$('#definition').html(definition.name+": "+definition.definition);

这里是an example

编辑: 不必要的 .dialog('widget') 把这个答案弄错了。

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多