我正在使用 BBQ 插件加载 PHP 页面:
$(function(){
var cache = {
'': $('.bbq-default')
};
$(window).bind( 'hashchange', function() {
var url = $.param.fragment();
$( 'a.bbq-current' ).removeClass( 'bbq-current' );
$( '.bbq-content' ).children( ':visible' ).hide();
url && $( 'a[href="#' + url + '"]' ).addClass( 'bbq-current' );
if ( cache[ url ] && url == "") {
cache[ url ].show();
} else {
$('.bbq-loading' ).show();
cache[ url ] = $( '<div class="bbq-item"/>' )
.appendTo( '.bbq-content' )
.load('session.php', {url: url}, function(){
// Content loaded, hide "loading" content.
$( '.bbq-loading' ).hide();
});
}
})
$(window).trigger( 'hashchange' );
});
这只是插件中的示例代码。
使用 session.php,我有一个导航菜单,可以浏览我的 MySQL DB 的不同数据集。在通过 BBQ 插件加载的每一面,我都有一个评论字段<textarea id='comment'></textarea>
我想使用 AJAX 将来自 textarea 的输入提交到我的数据库,但选择器$("textarea#comment").val();
仅在页面初始加载 URL 时才起作用。当我使用我的 php 文件生成的链接导航时,无论我是否在 textarea 中写入,选择器都不会输出任何内容(使用 firebug 控制台测试)。(当 textarea 的值被预填充时,选择器可以工作,但当我更改内容时不会)