Javascript ng单击(参数)打开一个带有下拉菜单的弹出窗口,然后选择发送到服务的项目和参数

Javascript ng单击(参数)打开一个带有下拉菜单的弹出窗口,然后选择发送到服务的项目和参数,javascript,java,angularjs,angular-fullstack,Javascript,Java,Angularjs,Angular Fullstack,我是新手。我正在使用JSP作为前端,并将值从UI传递给控制器。现在我需要打开一个新的弹出列表,用户可以在其中选择一个选项,然后将所有参数传递给服务 ng-click="rewardRetry(singleWinner)" 控制器---> (手机号码、抽奖id、彩票id、奖品)我可以这样分配 $scope.rewardRetry = rewardRetry; function rewardRetry(rewardRetryDTO) { $scope.

我是新手。我正在使用JSP作为前端,并将值从UI传递给控制器。现在我需要打开一个新的弹出列表,用户可以在其中选择一个选项,然后将所有参数传递给服务

ng-click="rewardRetry(singleWinner)"
控制器--->

(手机号码、抽奖id、彩票id、奖品)我可以这样分配

$scope.rewardRetry = rewardRetry;
function rewardRetry(rewardRetryDTO) {                     
  $scope.retryRewardDTO.draw_id=rewardRetryDTO.draw_id;
  $scope.retryRewardDTO.lottery_ticket_id=rewardRetryDTO.lottery_ticket_id;
  $scope.retryRewardDTO.prize=rewardRetryDTO.prize;
  $scope.retryRewardDTO.mobile_number=rewardRetryDTO.mobile_number;
  //$scope.retryRewardDTO.reward_method=rewardRetryDTO.reward_method;
}
但这里retryRewardDTO.reward_method-->用户应在弹出选项中选择(钱包、现金、充值、、…等)

呼叫服务

winnerService.winnerService.rewardRetry(
  $scope.retryRewardDTO,
  function(data, headers) {
    winnerSearch();
  }, function() {
});
我正在尝试做下面的链接。但无法获得正确的输出。请给我一些帮助


访问:

最终我找到了答案,并在这里实施了新的奖励服务

 $scope.rewardRetry = rewardRetry;
                        function rewardRetry(rewardRetryDTO) {
                        $scope.retryRewardDTO.draw_id=rewardRetryDTO.draw_id;
                        $scope.retryRewardDTO.lottery_ticket_id=rewardRetryDTO.lottery_ticket_id;
                        $scope.retryRewardDTO.prize=rewardRetryDTO.prize;
                        $scope.retryRewardDTO.mobile_number=rewardRetryDTO.mobile_number;
                        //$scope.retryRewardDTO.reward_method=rewardRetryDTO.reward_method;
                        var modalOptions = {


                                                bodyText : 'Are you sure you want to retry '+$scope.retryRewardDTO.prize+'/= reward for 0'+ $scope.retryRewardDTO.mobile_number+' ?  Please select a reward method first and confirm'

                                        };


                       rewardService.showModal({}, modalOptions).then(
                                       function(result) {
                       $scope.retryRewardDTO.reward_method = result;
                                       $('#retry-'+rewardRetryDTO.draw_id+'-'+rewardRetryDTO.lottery_ticket_id).hide();
                            $timeout(function() {
                                winnerService.winnerService.rewardRetry(
                                                $scope.retryRewardDTO,
                                                function(data, headers) {
                                                winnerSearch();
                                                }, function() {
                                                });
                            });
                            });
                        }
                        ;
我的奖励选项.jsp文件

<%@ taglib prefix="sec"
    uri="http://www.springframework.org/security/tags"%>
<div class="option">
    <div class="pull-right"></div>
    <div>Copyright &copy; Lucky889 2016</div>
    <input type="hidden" value="<sec:authentication property="principal.userType" />" id="user_type" />
    <input type="hidden" value="<sec:authentication property="principal.operator" />" id="user_operator" />
</div>

<script type="text/ng-template" id="rewardModalContent.html">
<div class="modal-header">
  <h3>{{modalOptions.headerText}}</h3>
</div>
<div class="modal-body">
  <p>{{modalOptions.bodyText}}</p>


                      <div class="modal-body">

                      <%-- <p ng-repeat="(key,singleReward) in modalOptions.rewardList">{{key}}----{{singleReward}}</p> --%>

                           <div class="form-group">
                                <label class="control-label" for="reward">Reward
                                Method</label><select name="reward" id="reward"
                                    ng-model="reward_method" class="form-control">
                                    <option ng-repeat="(key,singleReward) in modalOptions.rewardList"
                                        value="{{key}}">{{singleReward}}</option>
                                 </select>

                             </div>
                        </div>

   <div class="modal-footer">
   <button class="btn btn-primary"
                data-ng-click="modalOptions.confirm(reward_method)">{{modalOptions.actionButtonText}}</button>
     <button type="button" class="btn"
             data-ng-click="modalOptions.cancel()">{{modalOptions.closeButtonText}}</button>

   </div>

</script>

<%@ taglib prefix="sec"
    uri="http://www.springframework.org/security/tags"%>
<div class="option">
    <div class="pull-right"></div>
    <div>Copyright &copy; Lucky889 2016</div>
    <input type="hidden" value="<sec:authentication property="principal.userType" />" id="user_type" />
    <input type="hidden" value="<sec:authentication property="principal.operator" />" id="user_operator" />
</div>

<script type="text/ng-template" id="rewardModalContent.html">
<div class="modal-header">
  <h3>{{modalOptions.headerText}}</h3>
</div>
<div class="modal-body">
  <p>{{modalOptions.bodyText}}</p>


                      <div class="modal-body">

                      <%-- <p ng-repeat="(key,singleReward) in modalOptions.rewardList">{{key}}----{{singleReward}}</p> --%>

                           <div class="form-group">
                                <label class="control-label" for="reward">Reward
                                Method</label><select name="reward" id="reward"
                                    ng-model="reward_method" class="form-control">
                                    <option ng-repeat="(key,singleReward) in modalOptions.rewardList"
                                        value="{{key}}">{{singleReward}}</option>
                                 </select>

                             </div>
                        </div>

   <div class="modal-footer">
   <button class="btn btn-primary"
                data-ng-click="modalOptions.confirm(reward_method)">{{modalOptions.actionButtonText}}</button>
     <button type="button" class="btn"
             data-ng-click="modalOptions.cancel()">{{modalOptions.closeButtonText}}</button>

   </div>

</script>
angular.module("zmessengerRewardApp.service", []).service(
        'rewardService',
        function(toastr, $uibModal, $log) {

            var showHeaderErrorMessage = function(header) {
                toastr.clear();
                toastr.error(header['lms-message'],
                        header['lms-root-cause-message']);
            };

            var showHeaderSuccessMessage = function(header) {
                toastr.clear();
                toastr.success(header['lms-message'],
                        header['lms-root-cause-message']);
            };




            var modalDefaults = {
                backdrop : true,
                keyboard : true,
                modalFade : true,
                templateUrl : 'rewardModalContent.html'
            };

            var modalOptions = {
                closeButtonText : 'Cancel',
                actionButtonText : 'Confirm',
                headerText : 'Confirmation',
                bodyText : 'Perform this action?',
                rewardList : {reload:'Auto Reload',manual_reload:'Manual Reload',ez_cash:'Ezcash',mcash:'MCash',wallet:'Wallet',bank:'Bank Transfer'}



            };

            function showModal(customModalDefaults, customModalOptions) {
                if (!customModalDefaults)
                    customModalDefaults = {};
                customModalDefaults.backdrop = 'static';
                return show(customModalDefaults, customModalOptions);
            };

            function show(customModalDefaults, customModalOptions) {
                // Create temp objects to work with since we're in a singleton
                // service
                var tempModalDefaults = {};
                var tempModalOptions = {};

                // Map angular-ui modal custom defaults to modal defaults
                // defined in service
                angular.extend(tempModalDefaults, modalDefaults,
                        customModalDefaults);

                // Map modal.html $scope custom properties to defaults defined
                // in service
                angular.extend(tempModalOptions, modalOptions,
                        customModalOptions);

                if (!tempModalDefaults.controller) {
                    tempModalDefaults.controller = function($scope,
                            $uibModalInstance) {
                        $scope.modalOptions = tempModalOptions;
                        $scope.modalOptions.confirm = function(result) {
                            $uibModalInstance.close(result);
                        };

                        $scope.modalOptions.cancel = function(result) {
                            $uibModalInstance.dismiss('cancel');
                        };

                    }
                }

                return $uibModal.open(tempModalDefaults).result;
            };



            return {

                showHeaderErrorMessage : showHeaderErrorMessage,
                showHeaderSuccessMessage : showHeaderSuccessMessage,
                showModal : showModal,

            };

        });