通过jQuery的Ajax与PHP交互,XML数据源动态创建Select选项框。 不多说,上菜: Javascript: /** * aAjax创建Select * * @return void */ function aJax_category() { var obj = {}; obj.mode = "city"; $.ajax({ type : "POST" , url : "ajax_category.php" //数据源为XML , dateType : "xml" , data : $.param(obj) , success : function (xml) { //删除原有Select $("select[name=category]").remove(); /*xml为数据源 <data> <category> <id>1</id> <name>北京</name> </category> <category> <id>2</id> <name>上海</name> </category> <category> <id>1</id> <name>深圳</name> </category> </data> */ if ($("category", xml).text() != "") { //创建Select var category = $("<select>"); $(category).attr("name", "category"); $(category).css({"display" : "block", "width" : "120px", "margin-top" : "3px"}); //new options(label,value) $(category)[0].options.add(new Option("请选择", "")); $("category", xml).each(function(){ var id = $("id", this).text(); var name = $("name", this).text(); //创建options $(category)[0].options.add(new Option(name, id)); });//each end //内部插入 $("body").append(category); }//if end }//success end });//ajax } PHP: <?php /** * ajax获取XML数据源 */ var $xml = '<?xml version="1.0" encoding="UTF-8"?>'; $items = ''; switch($_POST['mode'];) { case 'city': $items = '<category><id>1</id><name>北京</name></category>' . '<category><id>2</id><name>上海</name></category>'; break; default:break; } $xml .= "<data>{$items}</data>"; header('Content-type: text/xml;charset=utf-8'); echo mb_convert_encoding($xml,'UTF-8', 'AUTO'); exit;