У вас была опечатка между идентификатором элемента SELECT и кодом добавления jQuery.Кроме того, вы перебирали родительский узел, у которого не было текстовых значений, в отличие от дочерних узлов «OU».
Вот пример кода, который исправляет синтаксический анализ XML и очищает некоторые неправильно названные идентификаторы элементов:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" charset="utf-8"></script>
</head>
<body>
<header>
<h1></h1>
</header>
<form name="myForm" method="GET" action="">
<select id="cdLDAP">
<option/>
</select>
</form>
</div>
<script type="text/javascript">
// variables declaration
var XML_PATH = "XML/ou.xml";
// load XML file
$(function() {
$.ajax({
type: "GET",
url: XML_PATH,
dataType: "xml",
success: function(xml) {
$(xml).find('LDAP').find('OU').each(function(i) {
var ou = $(this).text();
$('#cdLDAP').append("<option class='ddheader'>"+ou+"</option>");
});
$(this).find('Name').each(function() {
var name = $(this).text();
$('#cdLDAP').append("<option class='ddindent' value='"+ name +"'>"+name+"</option>");
});
}
});
});
</script>
</body>
</html>
Наконец, стоит отметить, что действие onLoad и перенос кода синтаксического анализа в функцию на самом деле не нужны с jQuery;и не забудьте разместить код на стороне клиента на том же сервере, что и XML-файл, иначе вы столкнетесь с политикой того же источника, блокирующей выборку AJAX-данных XML.