如何将选择值传递给Angularjs模态形式

时间:2015-09-24 04:26:00

标签: javascript jquery angularjs select

我确定这对你们来说是一个非常简单的问题,但是我被困住了。我有一个模态angularjs形式,当我按下"分配"时,我想执行一个功能。按钮。在创建模态表单的HTML模板中,我有一个select元素,我想传递一个值。代码是这样的:

<script type="text/javascript">
    $("#assignButton").on("click",function(event) {
    myValue = $("#sfc").selectmenu("value")
});
</script>
<script type="text/ng-template" id="assignSFC.html">
    <div class="modal-header" style="fill: #f08a00">
        <h3>Assign SFC</h3>
    </div>
    <div class="modal-body">
        <fieldset>
            <label for="sfc">Select a Service Chain</label>
            <select name="sfc" id="sfc">
              <option selected="selected" value="0">No Chain</option>
              <option value="1">Service Chain 1</option>
              <option value="2">Service Chain 2</option>
            </select>
        </fieldset>
    <div class="modal-footer">
        <!-- <div class="alert alert-error" ng-model="error.msg">
            <a class="close" data-dismiss="alert">x</a>
            <strong>Error!</strong>This is a fatal error. {{error.msg}}
        </div> -->
        <button type="button" class="btn btn-warning" ng-click="cancel()">Cancel</button>
        <button type="button" id="assignButton" class="btn btn-primary" ng-click="ok(value)">Assign</button>
    </div>
</script>

在最后一个按钮中,如果我输入类似:ng-click =&#34; ok(2)&#34 ;,它将完美地执行assignSFC功能。我的问题是我根据表单中的选择不知道如何传递这些值(0,1,2)。 你看到什么白痴吗?

再次感谢!!

1 个答案:

答案 0 :(得分:0)

你这样做是错误的。 Angularjs是双向绑定,你试图将jQuery与angularjs混合。 Angularjs有自己的功能来实现你想要的。您还没有使用控制器,而您正尝试使用ng-click使用单击按钮。 请尝试以下代码:

<script type="text/ng-template" id="assignSFC.html">
    <div ng-controller="TemplateController">
    <div class="modal-header" style="fill: #f08a00">
        <h3>Assign SFC</h3>
    </div>
    <div class="modal-body">
        <fieldset>
            <label for="sfc">Select a Service Chain</label>
            <select name="sfc" id="sfc" ng-model="data.sfcSelection">
              <option selected="selected" value="0">No Chain</option>
              <option value="1">Service Chain 1</option>
              <option value="2">Service Chain 2</option>
            </select>
        </fieldset>
    <div class="modal-footer">
        <!-- <div class="alert alert-error" ng-model="error.msg">
            <a class="close" data-dismiss="alert">x</a>
            <strong>Error!</strong>This is a fatal error. {{error.msg}}
        </div> -->
        <button type="button" class="btn btn-warning" ng-click="cancel()">Cancel</button>
        <button type="button" id="assignButton" class="btn btn-primary" ng-click="ok()">Assign</button>
    </div>
    </div>
</script>

这里是控制器:

angular.module('myApp', [])
  .controller('TemplateController', ['$scope', TemplateController]);

function TemplateController($scope) {
    $scope.data = {};
    $scope.data.sfcSelection = [];
    $scope.ok = ok;

    function ok() {
        console.log($scope.selectedValue);
    }
}