【问题标题】:$('#idField').val() inside a JQuery Dialog$('#idField').val() 在 JQuery 对话框中
【发布时间】:2009-10-30 23:56:49
【问题描述】:

我想知道是否可以对位于 JQuery 对话框内的项目 ID 使用以下 JQuery 函数。

$('#idofmyfield').val()

没有返回任何东西。

【问题讨论】:

  • 是的,这是可能的,所以肯定还有另一个问题。您可能想更具体地回答这个问题。
  • 您是否在对话框中使用 iframe?

标签: jquery jquery-dialog


【解决方案1】:

您可能需要将选择器 id 调整为对话框生成的标记:

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
   <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
      <span id="ui-dialog-title-dialog" class="ui-dialog-title">Dialog title</span>
      <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
   </div>
   <div style="height: 200px; min-height: 109px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog">
      <p>Dialog content goes here.</p>
   </div>
</div>

也许可以这样做:

$('div.ui-widget-content > #idofmyfield').val(); 

我也遇到过类似的情况,我需要提取 JSON 数据来填充对话框。我的有效代码如下所示:

if (jQuery) {
    jQuery(document).ready(function(){                      
        jQuery('#dialog').dialog({
            autoOpen: false,
            modal: true,
            width: 690, 
            position: [160, 160]
        }); /* end #dialog */

   /* do some processing and add the following to a click method */
    jQuery.getJSON(json_link, function(json){
        jQuery('.ui-dialog-title').text(json.title);
        jQuery('.ui-dialog-content').html(json.html);
    });

    jQuery('#dialog').dialog('open');
   /* end of click method */


}); /* end document.ready */
}

【讨论】:

    【解决方案2】:

    look at the events for dialog

    $('.yourDialog').dialog({
       close: function(event, ui) {
           alert($('#idofmyfield').val());
       }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多