簡體   English   中英

使用AngularJS將單選按鈕值綁定到輸入字段

[英]Bind radio buttons value to input field using AngularJS

我有三個單選按鈕A,B和C。如果選擇了B或C,則顯示帶有日期選擇器的輸入字段。 如果是新記錄,則當前日期將顯示在輸入字段中。 如果選擇單選按鈕“ A”,則“活動”將保存到表中。 如果選擇“ B”或“ C”,則將當前日期或用戶選擇的日期存儲在表中。 我遇到的問題是,如果選擇“ A”,則“活動”存儲在表中。 當我去編輯並選擇“ B”或“ C”時,“活動”將在當前日期顯示在輸入字段中。 我在“ B”或“ C”中添加了ng-change。 在函數中,如果值==“ Active”,則顯示當前日期和時間。 這工作到一定程度。 如果我選擇“ B”,請選擇一個日期,然后保存,返回並進行編輯,然后選擇“ C”,則以前為“ B”保存的日期應為當前日期。 這是我的html:

<div class="form-group"
                        <label class=" control-label col-xs-5" for="User">
                            Some Date:
                        </label>
                        <div class="col-xs-7 form-inner-group padRt0">
                            <div class="clearfix stackDate">
                                <input name="SomeDate" id="Date1_0" type="radio" ng-model="vm.approval.SomeDateID" ng-value="1">A<br />
                            </div>
                            <div class="clearfix stackDate">
                                <input name="SomeDate" id="Date1_1" type="radio" ng-model="vm.approval.SomeDateID" ng-change=vm.setDate() ng-value="2">
                                B <input class="form-field cal-field" type="text"
                                                             ng-show="vm.approval.SomeDateID==2" name="SomeDate"
                                                             ng-model="vm.approval.SomeDate"
                                                             datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.approval.SomeDateB"><br />

                            </div>
                            <div class="clearfix stackDate">
                                <input name="SomeDate" id="Date1_2" ng-model="vm.approval.SomeDateID" type="radio" ng-change=vm.setDate() ng-value="3">
                                C <input type="text" class="form-field cal-field" ng-required="vm.approval.SomeDateID==3" ng-show="vm.approval.SomeDateID==3"
                                name="SomeDateC" datepicker-popup="dd-MMM-yyyy" close-text="Close" ng-model="vm.approval.SomeDate"><br />
                            </div>
                        </div>
                    </div>

這是控制器:

  vm.setDate = function () {
        if (vm.approval.SomeDate == "Active")
        vm.approval.SomeDate = currentdateandtime;
    }

請注意,我還將每個單選按鈕的ID存儲在數據庫中。

我想我最終需要弄清一切時才需要講清楚。 這可能不是最好的方法,但是在加載頁面時,我將存儲在表中的ID分配給了局部變量。 然后在ng-change函數中,我對照所選的vm檢查了此變量的值。 如果它們不相等,那么我將當前日期和時間分配給虛擬機。 這似乎有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM