2015-05-20 42 views
1

嗨我想要一個特定的函數被調用,當從給定的下拉列表中選擇任何東西。該功能需要將所選選項的值作爲參數。到目前爲止,這是我得到的:綁定ng-點擊選項值

<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... 
} 

回答

2

你需要在這裏使用ng-change

第一分配模型select

ng-model="modelName"modelNamescope variable具有選擇框的值,

options中刪除ng-click="getHtml..)

和使用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> 
2

你應該選擇的元素上使用ngChangengModel指令。

ngChange:當用戶更改輸入時評估給定的表達式。

<select class="form-control" id="type" ng-model='type' ng-change="getHtml(type)"> 
    <option value="">Please Select</option> 
    <option value="SCHEDULE">SCHEDULE</option> 
    <option value="HTTP">HTTP</option> 
    <option value="RMQ">RMQ</option> 
    <option value="WFE">WFE</option> 
</select> 

DEMO