發表文章

目前顯示的是 2016的文章

將要傳送的參數包入onclick的方法

在onclick的指令下,要塞更多的資料到執行的function方法 方法一: 全部包入rel,然後使用如@來做分隔符號,接過去之後,再做分拆取得 方法二: 使用JavaScript的方法取得 '<td><a href="#" onclick=" CoinBuyLogButton (this)" Nickname= "' + Nickname + '" id="' + data .MemberBalances[i].Userid + '">' + CoinsBuy + '</a></td>' var Nickname = tag . getAttribute ( 'Nickname' ); var id = tag . getAttribute ( 'id' ); 方法三: 使用JQuery的方法取得 '<div class=" button aquamarine" style="padding-right: 20px;"> <span><a onclick=" popContent2 (this)" _type = "' +$obj.ReplayRecordType+ '" ; _title="' +$obj.ReplayRecordTitle+ '" ; _Content ="' +$obj. ReplayRecordContent + '">檢視</a></span></div>' ; var _type = $( data ). attr ( "_type" ); var _title = $( data ). attr ( "_title" );

VS C# Entity Framework 寫API 的一些方法註記

要將兩張表合併的方式 在SQL上面的用法是 select * from [dbo] . [TB_AREA] as a join [dbo] . [TB_CITY] as c on a . CityID = c . id 意思是 把TB_AREA表單 加入 TB_CITY 表單,做成 c表單,然後兩個表單的關聯是TB_AREA的CityID =TB_CITY的id 如我們要使用VS C# Entity Framework的話要使用如下的方程式 dbo.TB_TRAVELESSENTIALSDETAIL              .Join(dbo.TB_TRAVELESSENTIALS, ted => ted.TravelEssentialsID, te =>te.Id,(ted,te) => new  { ted,te}) 然後要取得時間的寫法是 (( DateTime )s.ted.TravelEssentialsDetailCreateTime).ToString( "yyyy/MM/dd" ) 下方為一小段範例程式碼                         var TEList = dbo.TB_TRAVELESSENTIALSDETAIL                             .Join(dbo.TB_TRAVELESSENTIALS, ted => ted.TravelEssentialsID, te =>te.Id,(ted,te) => new { ted,te})                             .Where(w => w.ted.Del == "N" ).ToList().Select(s => new TEList                         {                             TEID = s.ted.Id,                             TECategoryName = s.te.TravelEssentialsName,

iOS Safari 中點擊事件失效的解決辦法(轉貼)

iOS Safari 中點擊事件失效的解決辦法 問題描述 當使用委託給一個元素添加click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是默認不可點擊的(如 div, span 等),此時 click 事件會失效。 可以使用下面的代碼在 iOS 中進行測試。 <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width" > < title > iOS click bug test </ title > < style > .container { } .target { display : block; text-align : center; margin : 100px 30px 0 ; padding : 10px 0 ; border : 1px solid #ccc ; } </ style > </ head > < body > < div class = "container" > < div class = "target" > Click Me! </ div > </ div > < script src = "//code.jquery.com/jquery-2.1.4.min.js" > </ script > < scrip

滑鼠點擊變色,其餘恢復原本顏色(轉)

这个是用javascript控制的。非常简单。复制到body里面试下。 <style> a.select{color:#F00};/*选中的样式*/ </style> <script> function left_btn(n) { var a_num=document.getElementById("left_btn_box").getElementsByTagName("a"); for(i=0;i<a_num.length;i++) { a_num[i].className=i==n?"select":""; } } </script> <div id="left_btn_box"> <a class="select" onclick="left_btn(0)" href="#">按钮1</a> <a onclick="left_btn(1)" href="#">按钮2</a> <a onclick="left_btn(2)" href="#">按钮3</a> </div> 參考網址: http://zhidao.baidu.com/question/265450594.html

限定只能輸入數字,且輸入滿後自動跳轉下個欄位

限定只能輸入數字,而且像是輸入信用卡一樣,輸入滿字元就自動跳轉 輸入西元年滿四個數字,自動跳轉(focus)到下一個欄位(ID) 自動跳轉 onkeyup="if(this.value.length==字數)document.getElementById('ID').focus(); 限定輸入數字(注意一下,在『,』後面是兩個『'』不是一個『"』) onkeyup="value=value.replace(/[^\d]/g,'') " EX: <input id="birthYear" type="text" class="input_line ipxxs" placeholder="西元年" maxlength="4"   onkeyup="if(this.value.length==4)document.getElementById('birthMonth').focus();value=value.replace(/[^\d]/g,'') "> <span style="float: left;">-</span> <input id="birthMonth" type="text" class="input_line ipxxs" placeholder="西元月" maxlength="2"   onkeyup="if(this.value.length==2)document.getElementById('birthDay').focus();value=value.replace(/[^\d]/g,'') "> 參考限定輸入類型 http://dennis1985.pixnet.net/blog/post/121634578-html-text

CSS 完全置中的寫法

CSS 完全置中的寫法 position: fixed;     z-index: 2000;     background: rgba(0, 0, 0, 0.7);     display: block;     top: 0px;     left: 0px;     bottom: 0px;     overflow: auto;     width: 100%;

有關多選與單選(轉載)

$( ".grpCbx" ).click(function() { $( ".grpCbx" ).not( this ).removeAttr( "checked" ); }); 將其他check清空,使用專屬jquery的 .not(this) 來處理 原出處 http://blog.darkthread.net/post-2009-05-29-something-about-js-event.aspx

ajax回傳完畢前的讀取畫面、css置中等功能

要完全置中(上下左右) < style > . dialogbox { top : 0 ; left : 0 ; bottom : 0 ; right : 0 ; margin : auto ; overflow : auto ; } </ style > 在ajax的運用中使用,用途為若api未回傳資料回來,就插入畫面擋住不讓用戶一直點擊 CSS div . loadingdiv { height : 100 %; /*100% 覆蓋網頁內容 , 避免 user 在 loading 時進行其他操作 */ width : 100 %; position : fixed ; z-index : 99999 ; /* 須大於網頁內容 */ top : 0 ; left : 0 ; display : block ; background : #000 ; opacity : 0.6 ; text-align : center ; } div . loadingdiv img { position : relative ; vertical-align : middle ; text-align : center ; margin : 0 auto ; margin-top : 50 vh ; } Ajax 主要是在beforeSend跟complete這兩個function 若開始執行 show,若完成就hide。 AjaxCall : function ( urlStr , object , callback ) { console. log ([ urlStr , object ]); $ . ajax ({ url: urlStr , type: "GET" , data: object , dataType: "json" , suc

Jquery 的Each作法

以前都是用for迴圈再做東西,但是後來發現有一些同事都是使用each來作業 便在今天試著使用了一下each來做api串接 一維的for基本型態 for ( var i = 0 ; i < FateDataRange_Array .length; i++) {} 一維的each作法 $. each (FateDataRange_Array, function ( i , object ){ console. log ( i + ' = ' + object ); }); 二維的for基本型態 for ( var i = 0 ; i < data .GetCountryListResult.KVLlists.length; i++) { data .GetCountryListResult.KVLlists[i]. key data .GetCountryListResult.KVLlists[i]. val } 二維的each作法 $. each ( data .GetCountryListResult.KVLlists, function ( i , object ) { console. log ( i + ' = ' + object . key + ' = ' + object . val ); console. log ( data .GetCountryListResult.KVLlists.length);//長度 }); 參考資料: http://g2room.com/index.php/archives/62 http://www.g2room.com/jquery/example/base/each.html

jQuery獲取Select選擇的Text和Value(轉)

jQuery獲取Select選擇的Text和Value(轉)     jQuery獲取Select選擇的Text和Value: 語法解釋: 1. $("#select_id").change(function(){//code...}); //為Select添加事件,當選擇其中一項時觸發 2. var checkText=$("#select_id").find("option:selected").text(); //獲取Select選擇的Text 3. var checkValue=$("#select_id").val() ; //獲取Select選擇的Value 4. var checkIndex=$("#select_id ").get(0).selectedIndex; //獲取Select選擇的索引值 5. var maxIndex=$("#select_id option:last" ).attr("index"); //獲取Select最大的索引值 jQuery設置Select選擇的Text和Value: 語法解釋: 1. $("#select_id ").get(0).selectedIndex=1; //設置Select索引值為1的項選中 2. $("#select_id ").val(4); //設置Select的Value值為4的項選中 3. $("#select_id option[text='jQuery' ]").attr("selected", true); //設置Select的Text值為jQuery的項選中 jQuery添加/刪除Select的Option項: 語法解釋: 1. $("#select_id").append("<option value='Value'>Text</option>"); //為Select追加一個Option(下拉項) 2. $("#se

使用jQuery對 select 的操作(本文為網路找到的參考文)

[jQuery] 使用 jQuery 對 select 的操作 1. 取得選擇項目的文字與值 /*----- 單選 -----*/ // 取得被選擇項目的文字 $ ( "#select" ). find ( ":selected" ). text (); // 取得被選擇項目的值 $ ( "#select" ). find ( ":selected" ). val (); /*----- 多選 -----*/ // 使用迴圈取得所有被選擇的項目 $ ( "#select" ). find ( ":selected" ). each ( function () { alert ( this . text ); // 文字 alert ( this .value); // 值 }); 2. 增加項目 $ ( "#select" ). append ( $ ( "<option></option>" ). attr ( "value" , " 值 " ). text ( " 文字 " )); 3. 移除選擇的項目 // 移除選擇的項目 $ ( "#select" ). find ( ":selected" ). remove (); // 移除全部的項目 $ ( "#select option " ). remove (); 4. 移除選擇項目後,防止捲軸移到最上面 // 先取得要移除項目的 index var selectIndex = $ ( "#select" ). find ( ":selected" ). index (); // 移除選擇的項目 $ ( "#select" ). find ( ":selected" ). remove (); // 判斷移除項目後,原先的 inde

彈跳視窗iframe的運用

要簡單的使用手機形式的iframe彈出視窗 一般要使用的話,都需要寫很多語法,在這邊可以使用 fancybox這個jQuery的外掛 使用時,記得加入class="iframe",加入之後,要在在畫面上設定如下 $ ( '.iframe' ). fancybox ({ width : '100%' , height : '70%' , titlePosition : 'outside' }); 注意的是,如果畫面是動態生成的,記得在動態畫面生成之後,立刻加入這行。 一開始使用的時候,發現怎麼按都不會出現彈跳視窗,但是在畫面上寫死的時候,就會work 後來想到應該是順序的問題(HTML上寫死的畫面已經載入,動態生成算是後來才追加的),因此如同作多國語系的時候一樣, 在畫面生成之後加入即可動作。 而如果在ifrmae的畫面中要刷新後方的父頁面(例如在子視窗編輯評論,編輯完成後回到父視窗) 可以加入以下兩行 關閉該子視窗 parent . jQuery . fancybox . close (); (填入原本父視窗的網址)  即可做到關閉子視窗同時刷新父視窗 window . parent . location = "evaluation.html" ; PS. 如果沒有加入parent而直接使用window.location = "OOOO.html";的話,會變成刷新子視窗

取得動態div上面的某元件並做變動(收藏)

這個功能講白一點就是收藏的變動,不過在這邊不是使用值來判斷,而是使用收藏的圖示來判斷,而取值是為了要將該ID回傳伺服器端來進行資料庫的變化 $ ( 'body' ). on ( 'click' , '.CollectIIcon' , function ( e ) { var CollectIIconValue = $ ( this ). parent (). parent (). find ( 'input' )[ 0 ]. value ; var thisimg = $ ( this ). find ( "img" )[ 0 ]; var imgpath = thisimg . src . substr ( thisimg . src . lastIndexOf ( '/' ) + 1 ); var thisdiv = $ ( this ). parent (). parent (). parent (). parent (); if ( imgpath == "ic_collect_gray.png" ) { //訂閱   } else { //取消訂閱   }

快速將JSON的KEY值跟Value值全部取出

快速將JSON的KEY值跟Value值全部取出,必將ID與JSON得到的值對應 for ( var i in data .MemberInfoResult.MemberInfoList) { var key = i ; var val = data .MemberInfoResult.MemberInfoList[ i ]; for ( var j in val ) { var sub_key = j ; var sub_val = val [ j ]; // console.log(sub_key); // console.log(sub_val); try { //這一行是快速將值與同ID的物件對應,會寫TryCatch是因為有部分的元件不是Html而是Value的形式,所以加入TryCatch來避免轉換中止 document . getElementById ( sub_key ). innerHTML = sub_val ; } catch ( err ) { } } }

後台訂單來的時候,進行提醒

Q1. 如何判斷有無新訂單 A1. 在"function"外頭先加入(先設定全域變數) var lastOrderId = 0 ; var lastOrderIdMax = 0 ; 然後在JSON解析時加入 if ( lastOrderId < parseInt ( value .OrderId)) { lastOrderId = parseInt ( value .OrderId); } console . log ( "最後一筆資料ID" + lastOrderId ); 解析完成後加入 if ( lastOrderIdMax < lastOrderId ) { lastOrderIdMax = lastOrderId ; console . log ( "數字最大的一筆資料ID = " + lastOrderIdMax ); waveplay (); } else { console . log ( "lastOrderIdMax = lastOrderId = " + lastOrderIdMax ); } 如此一來可以確保資料一定會是最新的一筆,唯該方是在第一次的時候,一定會判定有最新資料,所以一定會有所提示,但進入頁面後,除非有新資料進來,不然一定不會再次響起提示 Q2. 訂單來的時候改面畫面的文字 A2. 先在頁面中指定一個ID,如下為 OrderAlert ,並在Javascript中進行判斷後,修改該文字 if ( value .Status == "訂單已送出" ) { // console.log("已完成狀態" + value.Status); changeOrderAlertText( "有新訂單" ); } else { // console.log("未完成狀態" + value.Status); } /*改變現在狀態文字*/ function changeOrderAlertText ( surl ) { document

GCM推播與螢幕喚醒

上週接到要修改某點餐系統APP,花了一整天在了解GCM的推播 試著解決 Q1.螢幕關閉後不會接收到系統推播的問題 A1.若確定APP端在螢幕喚醒時能正常接收到推播,那問題有可能出在Server端 剛接收到問題時,花了一天修改程式,仍然無法解決這個問題,後來發現問題出在系統端,主因於Server端發送的指令,造成程式在處理上會有不提醒的狀態,因此修改伺服器端的程式便修正完成 Q1的問題解決後,又遇到新的問題,雖然螢幕關閉的狀態下會收到提示,但是螢幕不會喚醒來提示,似乎仍然不太符合客戶的需求,因此再進行修改WakeLock的工程 Q2. 螢幕接收到推播不會亮起 A2. 參考 http://stackoverflow.com/questions/35240524/getting-error-acquiring-wakelock-while-getting-regid-in-gcm該網址中的 // Wake Android Device when notification received 程式碼 -- // Wake Android Device when notification received PowerManager pm = ( PowerManager ) context . getSystemService ( Context . POWER_SERVICE ); final PowerManager . WakeLock mWakelock = pm . newWakeLock ( PowerManager . FULL_WAKE_LOCK | PowerManager . ACQUIRE_CAUSES_WAKEUP , "GCM_PUSH" ); mWakelock . acquire (); -- 添加入程式碼中,並做適度的修改後解決該問題 -- PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);final PowerManager.WakeLock mWakelock = pm.newWakeLock(PowerM