Skip to content

Tag: javascript


Multiple File Upload by AjaxFileUpload of jQuery

Post date:

AjaxFileUpload 是 jQuery 的擴充套件之一,可以使用 Ajax 來即時上傳檔案,不過缺點就是一次只能上傳一個。 但是今天在研究 Multiple File Upload 搭配 AjaxFileUpload 時,找到一個土法煉鋼的方式可以達成一次上傳多個檔案。 這是 AjaxFileUpload 原本的使用方法: $.ajaxFileUpload ({ url:'doajaxfileupload.php', secureuri:false, fileElementId:'fileToUpload', dataType: 'json', success: function (data, status){ if(typeof(data.error) != 'undefined'){ if(data.error != ''){ alert(data.error); }else{ alert(data.msg); } } }, error: function (data, status, e){ alert(e); } }); 土法煉鋼法就是利用 Multiple File Upload plugin 所建立的 Array 讓上述過程跑 […]

Categories:

form preview within Thickbox via Ajax

Post date:

突然想研究用 Thickbox 搭配 Ajax 來達成表單預覽的功能,就動手實作了一下。 jQuery Ajax var url = "preview.php?" + new Date().getTime(); $.post(url, {c: $("#content").val()}, function(result){ $("#preview_temp").html(result); tb_show('caption', '#TB_inline?height=480&width=640&inlineId=preview_temp', false); } ); 流程其實很簡單,就是把結果 post 到後端處理的程式,再把結果 callback 到頁面元素就行了,會用 post 就是不用受限於 get 的 2KB 限制。 整個流程的重點在於「如何在 javascript 中呼叫 Thickbox」,方法就是直接使用 tb_show 函式,把 url 直接替換成呼叫 inline 的方式即可: //tb_show('Your Caption', href, group); tb_show('caption', '#TB_inline?height=480&width=640&inlineId=preview_temp', false); Demo: form preview […]

Create optgroup element into select list with DOM

Post date:

今天在研究使用 Ajax 透過 jQuery 動態建立 Optgroup 清單。 混沌兩個月,終於寫出稍微有用的文章了… JavaScript var obj = document.getElementById("list"); $.getJSON("ajax.asp", {id: idx}, function(json){ // if json data created... if(json.length > 0) { // get json data of optgroup for(var i=0; i

Categories:

使用 jQuery 製作樹狀目錄

Post date:

過陣子可能有個案子要使用到無限多層的表達方法,參考過 YUI ,但是自己對於 jQuery 比較熟悉,所以就使用 Treeview plugin 來製作。 資料表的結構也很簡單,我規劃下列幾個欄位: 編號 id – int(4) auto_increment) 標籤名稱 label – varchar(50) 父項目編號 parent – int(4) 排序 sort – int(4) php 端採用遞迴方式實做: function treeview($parent) { $sql = " SELECT * FROM items WHERE parent=$parent"; $result = mysql_query($sql); $output = array(); while($record = mysql_fetch_array($result)){array_push($output, $record);} $cc = count($output); if(!$parent == […]