2012-10-22 68 views
1

我刚刚开始学习AJAX,并试图构建从数据库中提取信息的级联下拉列表。我的AJAX.Updater代码有效,但不仅适用于其中一个下拉列表。我如何进行多个AJAX.Updater调用?原型AJAX更新器多个请求

<script type="text/javascript" src="jQuery/jquery-latest.js"></script> 
<script type="text/javascript" src="jQuery/prototypejs.js"></script> 
<script language="javascript"> 
jQuery(document).ready(function() 
{ 
    jQuery('#regiondropdown').change(function() { 
    dropdowns(jQuery(this).val(),"foo"); 
    }); 

    jQuery('#foodropdown').change(function() { 
    dropdowns(jQuery(this).val(),"bar"); 
    }); 

} 
); 

function dropdowns(str,type) 
    { 
     if (type=="foo") { 
     new Ajax.Updater('foo', 'foo_dropdown.php', { method: 'get', parameters: {foo: str} }); 
     } else if (type=="bar") { 
     new Ajax.Updater('bar', 'bar_dropdown.php', { method: 'get', parameters: {bar: str} }); 
     } 
    } 

</script> 
+1

只是想知道为什么你想的jQuery +原型结合要么会做对自己 –

回答

0

我看不到它是什么,所以我建议你启动你的调试器。
1)检查两种情况下的jQuery(this).val()的值。 “这个”可能不是你所信奉的Javascript。
2)检查如果切换if ...和else ...下拉菜单会发生什么情况。也许有一个({或;格格不入

HTH

+0

我添加的警报检查两个值。 jQuery(this).val()和它们都会返回期望的值,奇怪的是第二个SELECT在第一个SELECT之后被选中时不会发出警报,如果您先选择第二个SELECT,则会显示该警报。 – Nate23VT