【发布时间】:2009-10-30 23:56:49
【问题描述】:
我想知道是否可以对位于 JQuery 对话框内的项目 ID 使用以下 JQuery 函数。
$('#idofmyfield').val()
没有返回任何东西。
【问题讨论】:
-
是的,这是可能的,所以肯定还有另一个问题。您可能想更具体地回答这个问题。
-
您是否在对话框中使用 iframe?
标签: jquery jquery-dialog
我想知道是否可以对位于 JQuery 对话框内的项目 ID 使用以下 JQuery 函数。
$('#idofmyfield').val()
没有返回任何东西。
【问题讨论】:
标签: jquery jquery-dialog
您可能需要将选择器 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 */
}
【讨论】:
$('.yourDialog').dialog({
close: function(event, ui) {
alert($('#idofmyfield').val());
}
});
【讨论】: