PHP isn't exactly capable of what you are trying to do.

ASP <---> Client
PHP ---> Client

You could get around this by creating JavaScript arrays and looping through them when the user clicks a book and populate the listbox that way.

Eg.
User loads page... Every book is loaded, alongside the book's chapters and verses for every chapter, they are all stored in JavaScript array... The user clicks a book, in the onchange event for the listbox, use JavaScript to loop through the appropriate array using the foreach() method... Then add nodes to the next listbox...

The above method is inefficient but it should work.

If that doesn't take your fancy, perhaps frames? and using the JavaScript onchange event to modify the url of the next frame. The url may contain $_GET data (Eg. You load the url: mysite.com/getchapters.php?bookid=34) then you can use PHP to fetch all the chapters in the book.

I hope I helped you.

Mirey