如何在下拉列表更改事件上调用AJAX请求?

的index.php

  One Two 
workspace

https://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event/one.php

 $arr = array ( "workspace" => "One" ); echo json_encode( $arr ); 

https://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event/two.php

 $arr = array( 'workspace' => "Two" ); echo json_encode( $arr ); 

ajax.js

 jQuery(document).ready(function(){ jQuery('.ajax').live('click', function(event) { event.preventDefault(); // load the href attribute of the link that was clicked jQuery.getJSON(this.href, function(snippets) { for(var id in snippets) { // updated to deal with any type of HTML jQuery('#' + id).html(snippets[id]); } }); }); }); 

上面的代码工作得很好。 当我单击链接’One’时,字符串’One’被加载到工作区DIV中,当我单击链接’Two’时,字符串’Two’被加载到工作区DIV中。

题:

现在我想使用下拉列表在工作区DIV中加载https://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event/one.php和https://stackoverflow.com/questions/3429176/how-to-call-ajax-request-on-dropdown-change-event/two.php而不是index.php中的链接。 当我使用链接时,我在链接属性中使用class =’ajax’但是如何在下拉更改事件中调用ajax请求?

谢谢

像这样更改你的代码:

 jQuery('#dropdown_id').live('change', function(event) { jQuery.getJSON($(this).val(), function(snippets) { for(var id in snippets) { // updated to deal with any type of HTML jQuery('#' + id).html(snippets[id]); } }); }); 

您的下拉列表应如下所示:

  

在下拉列表中将href指定为列表项值。 更改下拉列表,进行ajax调用。

类名“ajax”仅供参考(如果您想要处理超过一个元素的事件,则非常有用)。