2010-09-30 3 views
0

Привет Я новичок в JQuery и борюсь с разбором XML. У меня есть окно поиска в моей форме, которое возвращает результаты поиска sql, когда пользователь ввел первые несколько букв. эта строка затем выполняется с помощью php-файла, и результаты возвращаются в виде XML-файла. Проблема в том, что мне нужно однозначно идентифицировать каждое имя и идентификатор, а затем получить доступ к определенному набору идентификаторов/идентификаторов. так что этот один элемент отображается в моей форме. Код (я думал) вернет список всех имен, но это похоже на одну строку. Кто-нибудь может помочь мне в доступе к отдельным элементам xml. Я включил файл XML в нижней части, спасибо за любую помощьАнализ XML с помощью JQuery

 // JQ - ajax 
     $(document).ready(function(){ 
      $.ajax({ 
         type: "GET", 
         url: "search_action.php?" + string , 
         dataType: "xml", 
         success: disxml , 

       }); 


     }) 
     } 

     function disxml(data){ 

     $(data).find('results').each(function() { 

     var name  = $(this).find('name').text(); 
     var cus_id = $(this).find('id').text(); 


     }) 

XML-файла

 <results> 

     <name> 
     The porter grp 
     </name> 
     <id> 
     548930 
     </id> 

     <name> 
     ADI UK 
     </name> 
     <id> 
     986565 
     </id> 

     <name> 
     Fireled 
     </name> 
     <id> 
     549899 
     </id> 

     <name> 
     JCK Rec LTD 
     </name> 
     <id> 
     548442 
     </id> 

     </results> 

ответ

3

Это может помочь изменить схему XML, чтобы включить результирующий узел, содержащий элементы имени и идентификатора.

<results> 
    <result> 
     <name> 
     The porter grp 
     </name> 
     <id> 
     548930 
     </id> 
    </result> 
    <result> 
     <name> 
     ADI UK 
     </name> 
     <id> 
     986565 
     </id> 
    </result> 

</results> 

Ваш код JQuery должен затем сделать что-то вроде

function disxml(data){ 

     $(data).find('result').each(function() { 

     var name  = $(this).find('name').text(); 
     var cus_id = $(this).find('id').text(); 


     }) 

С уважением

1

Вы когда-нибудь слышали о json?

Javascript может обрабатывать json красиво. Поэтому я предлагаю вам сериализовать ваши данные в json вместо XML и передать это javascript.

Looky here для как.

Смежные вопросы