看板 Web_Design 關於我們 聯絡資訊
感謝y大的教學 小弟後來還是採取比較簡單的方法 我是先把資料庫的資料全部叫出來,賦予每個div id,然後再用js控制顯示與否 但現在又遇到令一個問題 因為判斷是否顯示的部份會常常使用到,所以小弟想寫個函式用來判斷是否顯示 結果函式一直無法執行,請問是怎麼回事呢? <script type="text/javascript"> function test(){ alert("hello"); } function hideornot(){ if (this.value == "male"){ $("div#female").css("display","none") $("div#male").css("display","block") } else if (this.value == "female"){ $("div#male").css("display","none") $("div#female").css("display","block") } } $().ready(function(){ test(); $("select#sex").change(function(){hideornot();}); }); </script> 執行結果是test()可以執行,但是hideornot()不行 是因為hideornot()裡面用到this的關係嗎? 請問要怎麼改比較妥當呢? ※ 引述《lyforever (LY)》之銘言: : ※ 引述《beerson (啤酒僧)》之銘言: : : 痾,其實我是一直想要想一個方法解釋我要問的問題 : : 但一直找不到合適的措辭,所以就跑去打LOL : : 結果發現,這個頁面就是我要做的功能阿 : : 貼上連結請問一下版上的各位前輩 : : 像這種點擊checkbox後更改下方顯示的內容資訊的方法是怎麼做的? : : 小弟有想過是否是先load所有的英雄資料然後再用js控制顯示與否 : : 但小弟的程式能力普普,不太會做 : : 是否有現成的JQuery函式可以套用呢? : : 附上連結:http://lol.garena.tw/champions/ : : By the way, 小弟是用rails架的站,不知道在這種環境用哪個方法最適合? : 直接看原始碼 : <input type="checkbox" name="filter" id="filter" value="assassin"> : "刺殺" : $().ready(function() { : $(".someClass").tipTip({maxWidth: "400px",edgeOffset: 10}); : //以下開始, 選擇input id為filter的 並且綁訂click event, : //換成白話文來就是有沒有叫filter的被按了, 每次被按了就執行以下的情況 : $('input[id=filter]').click(function(){ : //呼叫blockUI : $.blockUI(); : //算一下有多少被打勾 : var filters = $('input[id=filter]:checked').length; : var filter_str = ""; : //把字串計算出來 : for(k=0;k<filters;k++){ : filter_str = (filter_str == "") ? "" : filter_str+","; : filter_str = filter_str + $('input[id=filter]:checked').eq(k).val(); : } : //去算新的list : get_list(filter_str); : }); : //網頁一開始預設的list : get_list(); : }); : //取得list 的function : function get_list(types){ : types = (types == undefined) ? "" : types; : //用post去取得新的list 並且showy在叫champion_list的地方 : $.post("t_champion-list.php",{type : types},function(data){ : $('#champion_list').html(data); : $('#champion_list').show(); : $(".someClass").tipTip({maxWidth: "400px",edgeOffset: 30}); : }); : //結束unblock UI : $.unblockUI(); : } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.172.119.76
mrbigmouth:$("select#sex").change(hideornot); 07/17 13:07
beerson:WOW,解決了!感謝感謝!! 07/17 13:09
beerson:竟然是這種錯誤XDDDD感謝M大喔 07/17 13:10
beerson:咦?那如果我的hideornot裏面有屬性要帶呢??? 07/17 13:14
mrbigmouth:.change(function() { hideornot.call(this); }) 07/17 17:05
lyforever:jQ有show()跟hide()還有toggle() 07/17 22:14
lyforever:另外應該用visibility 取代display會比較好 07/17 22:14
beerson:感謝y大,我立馬來試試看 07/18 09:40
beerson:ly大 07/18 09:40