にNG-バインドHTMLのドロップダウン値を取得することはできません私はjqueryのでこれを行うことができますが、私はangularjsを学びたいと思っています。私は<strong>Angularjs</strong>に新しいngのクリック機能
私はng-bind-html
を使ってドロップダウンの値を取得し、その値をng-bind-html
に更新していましたが、うまくいきました。 しかし、私はドロップダウンから値を選択し、コンソールログでそれがnullとして表示されます。
ハードコード値でドロップダウンを更新して値を選択すると、正しくログに記録されます。
HTMLコード:
<div ng-app="myApp">
<div ng-controller="addComplaintCtrl">
<select class="form-control" id="product_name" name="product_name" ng-model="product_name" ng-bind-html="pdl">
<!--<option value="">-Select-</option>
<option value='00'>Other</option>-->
</select>
<input type="button" class="btn btn-primary btn-block" ng-click="complaintSubmitEvent();" value="Submit Complaint">
</div>
</div>
角度コード:以下
<script>
var app = angular.module('myApp',['ngSanitize']);
app.controller("addComplaintCtrl",function($scope,$sce){
$scope.pdl=$sce.trustAsHtml('<option value="">-Select-</option><option value="Sales" >Sales</option>');
$scope.complaintSubmitEvent=function(){
//alert(0);
console.log($scope.product_name);
}
})
</script>
jsfiddleリンクです。あなたはng-bind-html
がちょうど今することができます、その仕事
を行った後
app.directive('compile',function($compile, $timeout){
return{
restrict:'A',
link: function(scope,elem,attrs){
$timeout(function(){
$compile(elem.contents())(scope);
});
}
};
});
$timeout
のようなものは、機能をコンパイルし実行するために使用されるディレクティブを作成することができますng-bind-html
によって行われた変更をコンパイルする必要があり ng-bind-html
@Satpal plsはjsfiddleリンクをご確認ください。もしまだここでコードを見たいのであれば、私は置くことができます。 –
今、コードpls check @Satpal –