我有两个问题,我正在努力工作。
mysite的/ search_advanced.php mysite的/ mysite的/ search_basic.php
我正在尝试将这些网址转换为:
mysite的/#!/搜索=先进
mysite的/#!/搜索=基本
我需要能够直接调用这些URL并让它们生成正确的页面。
以下是我想将search_advanced页面加载到id为main的div标记中的方法:
$('#search_advanced').click(function(e) {
$('#main').load("search_advanced.php");
return false;
});
search_advanced.php页面的标题部分包含:
<?php session_start();
include_once('functions/dbconn.php');
include_once('functions/functions.php');
include_once('check.php');
check_login('3');
$profile = getProfile($_SESSION['uid']);
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$params = $_POST;
if(isset($_POST['pg'])) {
switch($_POST['pg']){
case '10':
$pg=10;
break;
case '25':
$pg=25;
break;
case '50':
$pg=50;
break;
default:
$pg=10;
}
}
}
function getPagination($start, $pg, $count) {
$pager = "";
$pages=(int)ceil($count/$pg);
$current_page = (int)ceil(($start+1)/$pg);
if($current_page > 1) {
$prev_page= ($current_page-2)*$pg;
$pager .= "<a href=\"#{$prev_page}\" class=\"pager\"><span class=\"prev\">Prev</span></a> ";
}
for ($i=1; $i<=$pages; $i++) {
if($current_page == $i) {
$pager .= '<strong>'.$i.'</strong> ';
}
else {
$page_start = ($i-1)*$pg;
$pager .= "<a href=\"#{$page_start}\" class=\"pager\"><span class=\"page_no\">".$i.'</span></a> ';
}
}
if ($current_page < $pages) {
$next_page = ($current_page)*$pg;
$pager .= "<a href=\"#{$next_page}\" class=\"pager\"><span class=\"next\">Next</span></a> ";
}
return $pager;
}
$title="Advanced Search";
$ready_script = <<<READY_SCRIPT
$(".country").change(function(){
var id=$(this).val();
var dataString = 'id='+ id;
$.ajax
({
type: "GET",
url: "ajax_region.php",
data: dataString,
cache: false,
success: function(html){
$("#state_id").html('<option value="-1">Any</option>'+html);
}
});
});
$(".pager").click(function(){
// my code here
});
$('#advanced_search').click(function(){
// my code here
});
READY_SCRIPT;
目前我的$ ready_script变量被传递到我的header.php页面,该页面由此执行:
$(document).ready(function() {
<?php if (isset($ready_script)) {echo($ready_script);} ?>
}
我现在只想调用我的header.php,然后将我的所有页面加载到我的主div标签中,这样我就不会每次都用不需要的电话连续点击服务器。在我的onclick菜单事件之后有一个更好的方法来初始化我正在加载的特定页面的jquery函数吗?
任何想法都会非常感激。
谢谢, -Paul
答案 0 :(得分:0)
将脚本放入.js文件中,将您的javascript与内容分开。加载内容后,加载脚本:
$('#main').load("search_advanced.php", function () {
$.ajax({ url: "search_advanced.js", dataType: "jsonp" });
});
如果您在内容的同时加载js,您的脚本可能会过早运行。