【发布时间】:2011-02-04 09:09:12
【问题描述】:
我是个菜鸟,但如果你能帮我找到答案,我会很乐意接受它;)
我有一个数组 $cat_array 中的类别列表。 我想构建一个选择下拉菜单,以便当我选择其中一个选项时,将不同的变量传递给函数。
这是我目前所拥有的: 在主文件(index.php)中,我调用了一个函数:
makechoice($cat_array);
这是指包含文件中的这个函数:
function makechoice($cat_array) {
$dbz = new db();
$sim = new simple();
echo '<div class="choose-section">';
echo '<select class="selbox" onchange="categoryAjaxData(\'facebook\',\'/includes/fancount.php\',this.value);">';
foreach($cat_array as $cat) {
echo('<option value="'.$cat[0].'">'.$cat[1].'</option>');
}
echo '</select>';
echo 'Choose a section';
echo '</div>';
echo '<div id="facebook"><div class="facebook-midcut">',showfans($djnames, $djids, $djurl),'</div><div class="l-botcut"></div></div>';
}
在includes/fancount.php 中,我基本上有很多不同的变量要通过showfans 函数传递。
例如$barnames、$barids、$barurl 和 $restaurantname、$restaurantids、$restauranturl
showfans 函数使用这些变量来显示有关它们的一些数据。
这是我的 javascript 代码:
function categoryAjaxData(div,str,value)
{
var url = str+'?catid='+value;
ajaxData(div,url);
}
function ajaxData(div,str)
{
xmlHttp=GetXmlHttpObject();
document.getElementById(div).innerHTML='<center><img src="images/loader.gif"></center>';
if(xmlHttp==null)
{
alert("Browser does not support HTTP Request")
return
}
var url = str;
xmlHttp.onreadystatechange = function(){ DescriptionstateChanged(div); };
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function DescriptionstateChanged(div)
{
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById(div).innerHTML=xmlHttp.responseText;
}
}
目前: 当前 facebook div 中的内容重新加载,我可以看到加载程序 - 但我不知道如何将选择下拉列表中选择的选项链接到更改 showfans() 函数中的变量。
例如 我想在下拉菜单中显示“栏”:
echo '<div id="facebook"><div class="facebook-midcut">',showfans($barnames, $barids, $barurl),'</div><div class="l-botcut"></div></div>';
我想在下拉菜单中显示“餐厅”:
echo '<div id="facebook"><div class="facebook-midcut">',showfans($restaurantnames, $restaurantids, $restauranturl),'</div><div class="l-botcut"></div></div>';
希望对您有所帮助!在此先感谢:)
更新:
关于 fancount.php,我一直在寻找各种不同的选项 - 但我似乎无法让它们中的任何一个工作!
我想将下拉列表中的值传递到逻辑中,以便根据所选的 varlue,showfans() 使用某些变量,并且对于各种变量组合,输出代码看起来与此类似:
echo '',showfans($restaurantnames, $restaurantids, $restauranturl),'';
【问题讨论】:
标签: php javascript function drop-down-menu