嗨,我希望从给定的下拉列表中选择任何内容时调用特定函数。该函数需要将所选选项的值作为参数。到目前为止,这是我所拥有的:

    <label class="control-label col-lg-3">Action Type</label>
    <div class="col-lg-9">
        <select class="form-control" id="type" >
            <option value="">Please Select</option>
            <option value="SCHEDULE" ng-click="getHtml(/*SCHEDULE*/)">
                SCHEDULE
            </option>
            <option value="HTTP" ng-click="getHtml(/*HTTP*/)" >
                HTTP
            </option>
            <option value="RMQ" ng-click="getHtml(/*RMQ*/)">
                RMQ
            </option>
            <option value="WFE" ng-click="getHtml(/*WFE*/)">
                WFE
            </option>
        </select>
    </div>


但是,这似乎不起作用。有人可以帮忙吗?

该方法在控制器中如下所示:

$scope.getHtml=function(option){
        console.log("sent type is: "+type);
        var type=$('#type').val();
        //BLAH BLAH...
}

最佳答案

您需要在此处使用ng-change

首先将模型分配给select

ng-model="modelName" modelName是具有选择框值的scope variable

第二,从ng-click="getHtml..)中删除​​options

并使用ng-change当选择框更改其值时,可以使用modelName变量的值调用控制器函数。

<select class="form-control" id="type" ng-change="getHtml(modelName)" ng-model="modelName">
        <option value="">Please Select</option>
        <option value="SCHEDULE">
            SCHEDULE
        </option>
       .....
</select>

09-25 21:53