views:

30

answers:

1

Hi I have a simple ajax search that returns the results in a table. I can extract the XML and display it fine but what I cannot do is get the index number of the data (var Rows) . When a user clicks the returned result I believe I would need this in order to retrieve all the data in order to use IE $("name:eq(1)",data).text();. Can anyone help me please and I hope this makes sense !!, thanks

My Jquery code is here

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

  });
})
}

function disxml(data){
  dv = $('#crmbox')    

  $(data).find('list').each(function() {  
    var name      = $(this).find('name').text(); 
    var cus_id    = $(this).find('mid').text(); 
    var rows        = $(this).eq() ; 
    display = display  + "(" + rows + ")" +  " Name :" + name + " ID :" + cus_id + " <br>" ; 
  })
  dv.html(r); 
};

here is the php that generates my xml

          echo '<results>'  ; 

          while($row = mysql_fetch_array($result)) { 

          $name =           $row['name'] ;
          $major_id =       $row['address1'] ;

          echo '<list>' ; 

          echo '<name>';
          echo $name;
          echo '</name>'; 

          echo '<mid>';
          echo $major_id ; 
          echo '</mid>'; 

          echo '</list>' ; 

          } ; 



          echo '</results>' ;

the extra tag is the close of an earlier function - no relevence to question

A: 

It sounds like you want the index you're currently at, in which case use the first parameter passed to the .each() callback, like this:

$(data).find('list').each(function(row) {  
  var name      = $(this).find('name').text(); 
  var cus_id    = $(this).find('mid').text();
  //row is the index, starting at 0
Nick Craver