2016-07-21 7 views
0

を保存し、保存ボタンでクリックし、再度変更に値を保持していないことドロップダウンリストに選択された値、すなわち「練習リスト」が保持されていません。代わりに、デフォルト値「My List」を保持しています。データを保存した後、選択した値を保持するにはどうすればよいですか?私は、「保存」で、あなたが求めているもの、またはあなたが何を意味するか正確にはわからないドロップダウンリストは、私が見ることができるアイテムを、私は「練習のリスト」を言うドロップダウンリストから値を選択していた場合<a href="http://i.stack.imgur.com/duk1i.png" rel="nofollow">DrodownList</a></p> <p>Wデータ

$scope.doSubmit = function (dataToSubmit) { 
         $scope.submitted = true; 
         if (dataToSubmit) { 

          if ($scope.data.saveIn) { 
           dataToSubmit.dataToSubmit.saveIn = $scope.data.saveIn; 
          } 
          $scope.data = dataToSubmit.dataToSubmit ? dataToSubmit.dataToSubmit : dataToSubmit; 
         } 

         validateSubmission(); 

         // TODO simplify this validation 
         if ($scope.EnterDetailsForm.$invalid || $scope.showEffectiveDateError || 
          $scope.showEffectiveDateRangeError || ($scope.sigValidations && 
          $scope.sigValidations.length) 
          || ($scope.data.pharmacy1 && $scope.data.pharmacy1 == $scope.data.pharmacy2) 
          || ($scope.showMDD && (!$scope.data.medication.maximumDailyDose || ($scope.showMDD == 'pd' && !$scope.data.medication.maximumDailyDoseUnit))) 
          || $scope.showProviderError 
          || $scope.showSupervisorError 
          || $scope.drugMinError 
          || $scope.showPrimaryError) { 

          $scope.validations.push({ 
           name: 'Invalid Entry', 
           msg: 'Please correct all errors on this form to continue.' 
          }); 

          if ($scope.entity == 'Prescription') { 
           $scope.scrollToError = true; 
          } 
         } else if ($scope.entity == 'Prescription' && !validateDuration()) { 
          $scope.$emit('ghostMessage', 'The length of the prescription should not be more than 365 days'); 
         } else { //proceed with submission 
          // prepare the data to be submitted to the alert checker 
          var dataToSubmit = prepareDataToSubmit(); 

          // validate payload before submit 
          if (dataToSubmit.medication.lastRefillDate && dataToSubmit.medication.startDate && dataToSubmit.medication.lastRefillDate.date < dataToSubmit.medication.startDate.date) { 
           $scope.$emit('ghostMessage', 'Last written date cannot be before start date.'); 
          } else if (dataToSubmit.medication.lastRefillDate && dataToSubmit.medication.stopDate && dataToSubmit.medication.lastRefillDate.date > dataToSubmit.medication.stopDate.date) { 
           $scope.$emit('ghostMessage', 'Last written date cannot be after stop date.'); 
          } else if (dataToSubmit.medication.diagnoses && dataToSubmit.medication.diagnoses.length == 2 && dataToSubmit.medication.diagnoses[0].code && 
           dataToSubmit.medication.diagnoses[0].code == dataToSubmit.medication.diagnoses[1].code) { 
           $scope.$emit('ghostMessage', 'You may not specify the same diagnosis code for both primary and secondary diagnoses'); 
          } else if ($scope.entity != 'FavoriteRx' && $scope.showDAWGenericWarning && !$scope.formularyCheckedForDAWWarning) { 
           checkFormularyAlertsForDAWWarning(dataToSubmit); 
          } else { 
           $scope.formularyCheckedForDAWWarning = false; 

           // check dose alerts if necessary 
           dataToSubmit.schedules = angular.copy(schedules); 
           if ($scope.entity == 'Prescription' && doseCheckNeeded) { 
            checkDoseAlerts(dataToSubmit); 
           } else { // done; process submission 
            $scope.submit({data: dataToSubmit, optionCodes: $scope.optionCodes}); 
            $scope.loading = 0; 
           } 
          } 
         } 
        }; 
+0

問題をより詳しく説明してください。 – developer033

答えて

1

<select id="{{::prefix}}_Select_Practice" name="FreeTextDrugSchedule" ng-options="option as option.name for option in data.practiceOptions" class="form-control medium" ng-model="data.saveIn" style="margin-bottom: 5px;"> 
       <option value="" selected="selected">My list</option> 
      </select> 
<button id="{{::prefix}}_Button_Submit" class="btn btn-primary" ng-click="validations = null; doSubmit()">{{submitVerb}}</button> 

はここに私のjsファイルのコードです:

は、ここに私のhtmlコードですデータがありますが、私はいくつかの支援を提供しようとします。

私はangular.jsを知らないのですが、私の提案はフォームを選択してラップして(あなたがやっていると仮定して)、次に値をangluar.jsのポスト値を使って設定することですそれを行うことができます)。そうすれば、ページをリロードすると、デフォルト値がロードされません。さらに、新しいオプションを選択した後で単にブラウザで要素を調べているだけでは、新しいオプションが選択されていることは表示されません(つまり、selected = ""属性はデフォルトのままです)。

関連する問題

 関連する問題