2016年3月15日 星期二

霍夫曼計算法(Hoffmannschen Methode)

霍夫曼計算法(Hoffmannschen Methode)

計算規則:
  • 年度
          X=A ÷(1+n×r)
                A 為每年應付金額
               n為年間隔
               r為利率   
                X 為某年後,應給付A時,現在應付之金額
  • 剩餘天數
          X=A ÷(1+(n+ d/365)×r)
                A 為每年應付金額
               n為年間隔
               r為利率  
               d為剩餘天數
                X 為某年後,應給付A時,現在應付之金額

下載後解壓縮,請將兩個檔案放在同一個資料夾,點選Hoffmannschen_Methode.html開啟後,即可使用。請不要用太舊的瀏覽器開啟。

下載請點選此連結:

2016年3月7日 星期一

AngularJS範例說明6-textarea、checkbox、radiobutton、dropdownlist

<!DOCTYPE html>
<html ng-app="notesApp">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
    <title></title>
    <meta charset="utf-8" />
</head>
<body ng-controller="MainCtrl as ctrl">
    <!--文字輸入區塊-->
    <textarea ng-model="ctrl.user.address" required placeholder="文字輸入區塊"></textarea><br/>
    核取方塊:
    <!--核取方塊,AngularJS提供兩個屬性引數ng-true-valueng-false-value給核取方塊控制使用-->
    <input type="checkbox" ng-model="ctrl.user.agree" ng-true-value="YES" ng-false-value="NO"/><br /><br />

    核取方塊是否勾選體驗效果<br />
    ------
   
    <!--利用核取方塊加上勾選或不勾選來做到boolenan的效果-->
    <div ng-repeat="sport in ctrl.sports">
        <label ng-bind="sport.label"></label>
        <div>
            With Binding:
            <input type="checkbox" ng-model="sport.selected" ng-true-value="YES" ng-false-value="NO"/>
        </div>
        <div>
            Using ng-checked:
            <!--ng-checked true表示勾選、false表示不勾選-->
            <input type="checkbox" ng-checked="sport.selected=='YES'"/>
        </div>
        <div>
            Current state:
            <span ng-bind="sport.selected"></span>
        </div>
        ------
    </div>
    <br />

    選項按鈕<br />
    <!--ng-init初始化otherGenderother、並預設user.gender的值為female-->
    <div ng-init="otherGender='other';user={gender:'female'}">
        <!--三個按鈕都綁定到相同ng-model-->
        <input type="radio" name="gender" ng-model="user.gender" value="male" />Male
        <input type="radio" name="gender" ng-model="user.gender" value="female" />Female
        <!--ng-value動態綁定value,此處並不是單純綁定'otherGender',而是綁定otherGender的變數值other-->
        <input type="radio" name="gender" ng-model="user.gender" ng-value="otherGender" />{{otherGender}}
        <br/>
        你選擇的值是:{{user.gender}}
    </div>
    <br />

    靜態下拉選單<br />
    <!--location初始化為Taiwan,當使用者選擇其他選項時,value屬性的內容值會被指派到ng-model-->
    <div ng-init="location='Taiwan'">
        <select ng-model="location">
            <option value="USA">USA</option>
            <option value="Taiwan">Taiwan</option>
            <option value="Others">Others</option>
        </select>
    </div>

    動態下拉選單<br />
    <div>
        <!--ng-options支援動態生成選項-->
        <!--此處c.id表示下拉選單的valuec.label表示下拉選單的顯示item-->
        <!--有三種寫法:
            1. labelValue for item in array
            2. modelValue as labelValue for item in array
            3. modelValue as labelValue group by groupValue for item in array
            -->
        <select ng-model="ctrl.selectedSportId" ng-options="c.id as c.label for c in ctrl.sports"></select><br/>
        Selected Sport: {{ctrl.selectedSportId}}
    </div>

    <script type="text/javascript">
        angular.module('notesApp', [])
        .controller('MainCtrl', [function () {
            var self = this;
            self.sports = [
            { id: 1, label: 'Basketball', selected: 'YES' },
            { id: 2, label: 'Trekking', selected: 'NO' },
            { id: 3, label: 'Soccer', selected: 'NO' },
            { id: 4, label: 'Swimming', selected: 'YES' }, ];
        }]);
    </script>
</body>
</html>


執行結果

2016年3月4日 星期五

AngularJS範例說明5-ng-form

<!DOCTYPE html>
<html ng-app>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
    <title></title>
           <meta charset="utf-8" />
</head>
<body>
    <!--novalidate is used to disable browser's native form validation.-->
    <form novalidate name="myForm">
        <input type="text" name="uname" ng-model="ctrl.user.usrname" required="" ng-maxlength="4" placeholder="User Name" />
        <input type="password" name="pwd" ng-model="ctrl.user.password" required="" ng-minlength="6" placeholder="Password"  />
        <br /><br />
        <!--ng-form是一個群組的概念,帶有一個群組的狀態,此處透過myForm.profile.$invalid去存取該狀態-->
        <ng-form name="profile">
            <input type="text" name="firstName" ng-model="ctrl.user.profile.firstname" required placeholder="First Name"/><br />
            <input type="text" name="middleName" ng-model="ctrl.user.profile.middlename" required placeholder="Middle Name"/><br />
            <input type="text" name="lastName" ng-model="ctrl.user.profile.lastname" required placeholder="Last Name" /><br />
            <input type="date" name="dob" placeholder="Date Of Birth" ng-model="ctrl.user.profile.dob" /><br />
        </ng-form>
        <!--ng-form name="profile"這個群組,在使用者輸入資料尚未驗證通過時,這行字會一直顯示在畫面上-->
        <span ng-show="myForm.profile.$invalid">
            Please fill out the profile information
        </span>
        <br /><br />
        <!--整張表單驗證通過後,才可以點此按鈕-->
        <input type="submit" value="submit" ng-disabled="myForm.$invalid" />
    </form>
</body>
</html>


執行結果:
起始頁面

輸入完profile驗證通過後,提醒字串隱藏

myForm驗證通過,submit按鈕enable