模拟AngularJS ng-click事件

时间:2015-11-26 18:38:50

标签: javascript jquery angularjs

我有一个带有以下按钮的HTML:

<button ng-click='showStats(player.data,0)'>Death Match</button> 
<button ng-click='showStats(player.data,1)'>Champions Rumble</button> 
<button ng-click='showStats(player.data,2)'>Full Profile</button>

正如您可能已经猜到的,当点击任何按钮时,会显示相应的玩家统计数据。这没有问题。现在,该系统还有一个附加功能,即玩家可以设置他的个人资料的哪一部分显示为默认。

因此,当用户访问玩家个人资料时,假设玩家已将他的个人资料显示偏好设置为1 (Champions Rumble)。在这种情况下,我希望按下中间按钮上的按钮进行模拟(仅当第一次加载页面时),以便显示相应的配置文件部分。然后访问者可以点击任何按钮,这些部分将会显示,就像现在一样。

可以这样做吗?我现在已经尝试了几个小时。非常感谢任何帮助!

3 个答案:

答案 0 :(得分:2)

$scope.showStats(data, defaultOption); // in your controller when user profile loaded

答案 1 :(得分:0)

如果我理解正确,当单击该按钮时,您想要显示某些内容,但这是什么取决于模型的状态。所以我会在ngClick上运行一个函数,并根据模型的状态让该函数执行不同的操作。

答案 2 :(得分:-3)

您可以使用jQuery模拟点击事件。

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button onclick=$('div').html('button1_click')>Button 1</button>
<button onclick=$('div').html('button2_click') id=button2>Button 2</button>
<button onclick=$('div').html('button3_click')>Button 3</button>
<div></div>
&#13;
$('button:contains("Champions Rumble")').click()
&#13;
&#13;
&#13;

在您的代码中,您可以执行以下操作:

select age,
(1-(select count(*) from tableA a where a.id=b.id)/count(*) )*100
from tableB b
group by age