I have a scenario where i need to know the value and name of model passed in to the function.
I tried the following
$scope.rad='fff'; app.directive('kmRadio', function() { return{ restrict:'E', compile: function(element,attrs) { var model = {l:''}; model.l = attrs.kmModel; var str1="n in "; var str2=attrs.kmOption; var repeat=str1.concat(str2); var htmlText='<div><div ng-switch on="format">'+ '<div ng-switch-when="kmForm">'+ '<div>'+ '<div class="floatLeft">'+ ''+attrs.title+''+ '</div>'+ '<ul>'+ '<li class="rowlist" ng-repeat="'+repeat+'"> {{n}}<input type="radio" ng-model="'+attrs.kmModel+'" name="a" ng-click="radioValueChanged(n,'+attrs.kmModel+')"/></option>'+ '</ul>'+ '{{'+attrs.kmModel+'}}'+ ''+attrs.kmModel+''+ ''+model.l+''+ '</div>'+ '</div>'+ '<div ng-switch-when="kmPreview">'+ '<div>'+attrs.title+'<input type="radio" ng-model="'+attrs.kmModel+'" disabled="true"/></div>'+ '</div>'+ '</div></div>'; element.replaceWith(htmlText); } } })
The following code is responsible for calling the function
'<li class="rowlist" ng-repeat="'+repeat+'"> {{n}}<input type="radio" ng-model="'+attrs.kmModel+'" name="a" ng-click="radioValueChanged(n,'+attrs.kmModel+')"/></option>'+ $scope.radioValueChanged = function (value,model) { //alert("Changed value"+value + model); alert(value +" and " + model); //alert("model "+ model ); }
In HTML , i have a code like below
<km-radio km-model="rad" title="Gender" km-option="['De','CM','PM']"></km-radio>
When i tap on radio button in html, i am getting the o/p De and fff, but what i need is o/p De and rad
See the plunker code
No comments:
Post a Comment