嗨,我有下面的代码,由4页(3 x php,1 x js)组成。其基本原理很简单:jquery - 在多个加载事件后将变量传递给jquery
test17a.php:从ñ单选按钮 进行选择 - 火灾onChange事件加载test17b.php的内容。这包括从所选单选按钮的ID导出的MySQL查询。
test17b.php: 显示一个项目,点击它时,负载test17c.php这包括来自test17a.php和test17b.php
test17c.php的结果导出的MySQL查询: 显示器Ñ物品,其中每一个是可点击,点击时这些运行从test17a.php,test17b.php的结果导出的MySQL查询,并test17c.php
test17d.php 显示上述查询的结果。
问题是,test17c.php中的值返回为undefined。我假设这是在值被加载之前加载的javascript。但我不知道如何改变这个值,以便正确传递值。
如果任何人都可以指出我在正确的方向,它将非常感激。
##test17.js##
//fired from onchange event on test17a.php
function findB(GroupVal)
{
$("#B").load("test17b.php?GroupVal="+GroupVal).css('display','block');
}
//fired from onClick event on test17b.php
function findC(GroupVal,MasterID)
{
$(".C").load("test17c.php?GroupVal="+GroupVal+"&MasterID="+MasterID).css('display','block');
}
//fired when clicking on one of the items on test17c.php (used to show which item was clicked on
$(document).on('click', 'p.C2', function(evt)
{
var $p = $(evt.currentTarget),
GroupVal = $p.data('GroupVal'),
MasterID = $p.data('MasterID'),
SlaveID = $p.data('SlaveID'),
$div = $p.next();
console.log('3GroupVal='+GroupVal+' | 3MasterID='+MasterID+' | 3SlaveID='+SlaveID);
findE(GroupVal, MasterID, SlaveID, $div);
}
);
function findE(GroupVal, MasterID, SlaveID, $div)
{
$div.load("test17d.php?GroupVal="+GroupVal+"&MasterID="+MasterID+"&SlaveID="+SlaveID).css('display','block');
console.log('4GroupVal='+GroupVal+' | 4MasterID='+MasterID+' | 4SlaveID='+SlaveID);
}
_
##test17a.php##
<head>
<script language="JavaScript" src="../Generic/JAVASCRIPT/jquery-min.js" type="text/javascript"></script>
<script language="JavaScript" src="test17.js" type="text/javascript"></script>
</head>
<Body>
<label for="GROUP1">GROUP1</label>
<INPUT class="groupSelectButtons" TYPE="radio" NAME="GroupSelect" VALUE="1" id="GROUP1" onChange="findB(this.value)"/>
<label for="GROUP2">GROUP1</label>
<INPUT class="groupSelectButtons" TYPE="radio" NAME="GroupSelect" VALUE="2" id="GROUP2" onChange="findB(this.value)"/>
<div id="B">
</div>
</Body>
##test.17b.php##
<?php
$GroupVal = $_GET['GroupVal'];
$MasterID = $GroupVal*2;
print "<p id=\"B2\" onClick=\"findC('$GroupVal','$MasterID')\"> GroupVal = $GroupVal | MasterID = $MasterID</p>";
print "<div class=\"C\"></div></br>";
?>
##test.17c.php##
<?php
$GroupVal = $_GET['GroupVal'];
$MasterID = $_GET['MasterID'];
$SlaveID = $GroupVal*$MasterID;
print "<p class=\"C2\" data-GroupVal=\"$GroupVal\" data-MasterID=\"$MasterID\" data-SlaveID=\"$SlaveID\"> GroupVal = $GroupVal | MasterID = $MasterID | SlaveID = $SlaveID </p>";
print "<div class=\"D\"></div>";
$SlaveID++;
print "<p class=\"C2\" data-GroupVal=\"$GroupVal\" data-MasterID=\"$MasterID\" data-SlaveID=\"$SlaveID\"> GroupVal = $GroupVal | MasterID = $MasterID | SlaveID = $SlaveID </p>";
print "<div class=\"D\"></div>";
$SlaveID++;
print "<p class=\"C2\" data-GroupVal=\"$GroupVal\" data-MasterID=\"$MasterID\" data-SlaveID=\"$SlaveID\"> GroupVal = $GroupVal | MasterID = $MasterID | SlaveID = $SlaveID </p>";
print "<div class=\"D\"></div>";
?>
##test17d.php##
<?php
$GroupVal = $_GET['GroupVal'];
$MasterID = $_GET['MasterID'];
$SlaveID = $_GET['SlaveID'];
$SubSlaveID = $SlaveID+10;
print "<p class=\"D2\"> GroupVal = $GroupVal | MasterID = $MasterID | SlaveID = $SlaveID | SubSlaveID = $SubSlaveID</p>";
print "<div class=\"E\"></div>";
?>
有斑点。我倾向于使用格式type.name.php(例如test.17c.php,conf.dbAccess.php),这就是为什么我在上面输入它的原因。但在这种情况下,我正在使用的网页只是test17c.php(只是为了迷惑自己,我猜) – IGGt