我有一個複選框和兩個輸入字段。無論是複選框必須被檢查或兩個輸入字段必須填寫。我使用Angular進行驗證,即ng-show,ng-required。檢查複選框時清除輸入字段
當複選框被選中時,兩個輸入字段被禁用,即ng-disabled =「$ parent.vm.selectAllDates」。
現在我還必須清除可能已經輸入到文本框中的任何數據。
在頁面加載時未選中複選框。它在控制器中設置如下:vm.selectAllDates = false;
當在Angular中選中複選框時,是否有某種方法可以清除輸入字段?
編輯 我已經添加了什麼我試着用你的例子做
複選框:
<input name="dateSelectAll" type="checkbox"
ng-model="$parent.vm.selectAllDates"
ng-required="vm.selectedReport.Parameters.StartDate == null && vm.selectedReport.Parameters.EndDate == null" />All Available Dates
開始日期輸入:
<input name="beginningDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.StartDate"
is-open="beginningDateOpened"
ng-required="$parent.vm.selectAllDates == false"
ng-change="$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.StartDate"
close-text="Close" />
結束日期:
<input name="endDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.EndDate"
is-open="endDateOpened" ng-change="$parent.vm.selectedReport.Parameters.EndDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.EndDate"
ng-required="$parent.vm.selectAllDates == false && $parent.vm.selectedReport.Parameters.EndDate == null"
close-text="Close" />
一個非常奇怪的事情是我想看看發生了什麼事,所以我說
{{$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.StartDate}}
起始日期輸入後場。當我選擇日期時,日期被添加到輸入字段以及輸入下面。當我點擊複選框時,日期從輸入字段以及從輸入字段下移除。所以它的工作!但是,當我從輸入字段中刪除上面的代碼時,它停止了工作......我就像wha?
感謝您的迴應!如何使用兩個輸入字段工作?我使用的兩個輸入字段各有不同的ng模型:一個使用開始日期,另一個使用結束日期。我嘗試使用data.test ng-model將ng-change代碼移動到輸入中,以便在複選框被選中時清除數據並且不起作用。 – rsford31
兩個輸入和一個複選框? – dfsq
是的...我修改了我原來的帖子,告訴你我試過了什麼。我已將您的示例添加到輸入字段而不是複選框。 – rsford31