在寫地圖空間搜尋的時候,用ajax返回的資料結果,除了要在地圖上標點之外還需要用傳統的表格方式羅列,並且可以點擊察看信息,因為需要對返回結果的處理足夠靈活,所以不能在js當中寫死格式。這裡用了xml資料島的方式(系統是 只需要考慮IE)只把要用到xml資料資訊傳回,具體怎麼在html頁面上佈局可以由 其它開發人員自己訂製。
下面程式碼去掉了ajax的部分,只簡單的示範如何產生一個xml資料島,以及如 何和html表格綁定,並顯示出相關的連結資訊。其中連結的href內容可以保存在 xml資料中,並用datafld屬性來處理。
<html xmlns=""> <head> <title>XML数据岛</title> </head> <script type="text/jscript">... //获取xml,实际应用中大多是ajax异步获取的 function getData() ...{ var xmlData="<xml ID="xmlData"><root>"; for(var i=0;i<5;i++) ...{ try ...{ var id="Name"+i; var Type="Type"+i; xmlData+="<METADATA><Name>"+id+"</Name> ;<Type>"+Type+"</Type><Href>javascript:aler t('"+id+"')</Href></METADATA>"; pointIndex++; } catch(e) ...{ } } xmlData+="</root></xml>"; document.all.xmlDataPanel.innerHTML=xmlData; } //简单的添加xml信息 function addData() ...{ var xmlData= document.all.xmlDataPanel.innerHTML; xmlData=xmlData.replace ("</root></xml>",""); xmlData+="<METADATA><Name>newName</Name><Type >newType</Type><Href>javascript:alert('newName') </Href></METADATA>"; xmlData+="</root></xml>"; document.all.xmlDataPanel.innerHTML=xmlData; } </script> <body> <button onclick="javascript:getData();">获取数据 </button> <button onclick="javascript:addData();">添加数据 </button> <div id="xmlDataPanel"> </div> <div style="overflow: scroll; height: 180;width:180" align="center"> <div align="left"> <!--绑定,超链接的地方用 datafld属性,href的值也可以保存在 xml数据岛当中,比较灵活,可以使js函数或者一个url地址--> <table datasrc="#xmlData" border="1"> <tr> <td> <a datafld="Href"><span datafld="Name"></span></a> </td> <td> <span datafld="Type"></span> </td> </tr> </table> </div> </div> </body> </html>
以上是xml資料島綁定時的超連結處理的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!