Re: [問題] 使用ajax時,回應的html只能append一次??

看板Ajax作者 (Schrödinger's cat)時間15年前 (2010/01/26 02:13), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《pillowYUI (枕由衣)》之銘言: : <script language="javascript"> : $(function(){ : var html = $.ajax({ : type:"GET", : url:"a.php", : data:"給a.php的參數", : async: false : }).responseText; : $("#content_main").append(html); : }); : function click_f(){ : $("#sw_loc").change(function(){ : var sw_con = $('#sw_loc :selected').val(); : var html2 = $.ajax({ : type:"GET", : url:"a.php", : data: sw_con , : async: false : }).responseText; : //alert(html2); : //以上印出html2內容 : $("#content_main").empty(); : $("#content_main").append(html2); : }); : } : </script> : <body onLoad="click_f();"> : <div id="content_main"></div> : </body> : html2為a.php回傳的資料(即下拉式選單的html),#sw_loc為a.php所產生的下拉式 : 選單。 : 若把紅色的地方刪掉,則能確定每次對a.php的要求的內容(即html2)都正確無誤。 : 想請教各位是否是我對append的使用錯誤,還是其他的問題導致只有第一次選擇 : option時執行正確?? 問題不在append 而是change只在body onload時綁定那一次 之後動態load進來時 就沒有再綁定change了 有兩個解法 1. 用live, jQuery 1.4版支援change了 - $("#sw_loc").change(function(){ + $("#sw_loc").live("change",function(){ 2. > $("#content_main").append(html2); click_f();//多加這一行 再綁一次 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.30.140

01/26 12:43, , 1F
感謝!!看來我對jQuery了解的還不夠,謝謝你
01/26 12:43, 1F

01/26 13:20, , 2F
與其多瞭解 jQuery , 倒不如多瞭解js 事件處理的模型...
01/26 13:20, 2F
文章代碼(AID): #1BNTz8vI (Ajax)
文章代碼(AID): #1BNTz8vI (Ajax)