我想通过函数将我的按钮值传递给角度js。我尝试使用ng-model传递函数,但是在按钮的情况下它不起作用。所以任何人都可以提前帮助我这件事
HTML:
<p align="center">
<a href="#category1" id="select1" ng-model="select1" data-transition="slidedown" class="ui-btn ui-corner-all" value="Category 1" ng-click="catFn1()">Category 1</a>
</p>
angular js:
$scope.catFn1 = function () {
var sel1 = document.getElementById('select1').innerHTML;
alert(sel1);
sharedService.prepForBroadcast(sel1); //----- making the button value available through out the code
return dict1(sel1);
}
function dict1(sel1) {
alert(sel1);
$("#dictation1").click(function () {
window.location = "#pageeight";
});
}
我实际上想使用工厂方法执行控制器通信,我知道通过这种方法进行通信。所以我需要通过函数传递我的价值。所有的答案都是有价值的。
答案 0 :(得分:2)
您可以通过e.target
属性访问当前对象。从那里,您可以获取value
属性。
<a href="#category1" ng-click="catFn1($event)" data-value="Category 1" data-transition="slidedown" class="ui-btn ui-corner-all">Category 1</a>
在控制器中:
$scope.catFn1 = function (e) {
var sel1 = e.target.getAttribute('data-value');
sharedService.prepForBroadcast(sel1);
return dict1(sel1);
}
答案 1 :(得分:1)
plnkr = http://plnkr.co/edit/b1bFqZdoGVNyC5KOCkJp?p=preview
ng-click的值是一个表达式,见下文:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.js"></script>
</head>
<body ng-app>
<p align="center">
<a href="#category1"
id="select1"
ng-model="select1"
data-transition="slidedown"
class="ui-btn ui-corner-all"
value="Category 1"
ng-click="catFn1();select1 = $event.target.attributes.getNamedItem('value').textContent">
Category 1
</a>
select1 = {{ select1 }}
</p>
</body>
</html>
答案 2 :(得分:0)
首先,它不是一个按钮,它是一个锚点。
试试这个:
<a href="url" onclick="test(this)">Text</a>
function test(control){
alert(control.innerHTML)
}