2017年3月18日 星期六

透過 ng-click 動態改變 href 並自動點選

html
===
<a target="中獎發票" detail ng-model="data.id">詳細</a>


javascript
===
.directive("detail", ['$http', function ($http) {
            return {
                require: "ngModel",
                link: function (scope, element, attributes, ngModel) {
                    element.on('click', function (event) {
                        $http.post('@Url.Action("詳細資料")', { id: ngModel.$viewValue })
                            .then(function (result) {
                                element.attr('href', result.data);                              
                       }).catch(function (data) {
                           console.log(data);
                           if (data.statusText != '') alert(data.statusText);
                           else alert('發生錯誤,請重新整理頁面後再試一次');
                       });
                    });
                }
            }
        }])

input 連結 datalist 用程式控制彈出選項

範例: nextTick(() => document.querySelector('input').showPicker());  ※僅支援現代瀏覽器