我在视图中有以下代码:
<apex:commandLink data-role="button" action="{!someAction}">
<apex:param name="someVar" value="someVarVal">
</apex:commandLink>
代码不起作用,因为commandLink没有采用“data-role”属性。
如何在第二行传递参数,但在渲染链接上还有“data-role”等属性?
答案 0 :(得分:2)
我从来没有找到过将额外属性添加到VF标签的方法,最好的办法是IMO会添加一些在页面加载时运行的javascript,然后使用JQuery的.attr()
方法将该属性添加到组件中。
如下所示(假设您included jquery through a static resource)
<apex:commandLink styleClass="myLink" action="{!someAction}">
<apex:param name="someVar" value="someVarVal"/>
</apex:commandLink>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery(".myLink").attr("data-role", "button");
});
<script>
你会注意到我在这里使用了一个类而不是ID,这只是因为SFDC生成的ID包含需要转义才能与jQuery一起使用的符号,我发现这更容易了使用更清洁的解决方案(尽管可能略慢)。
答案 1 :(得分:0)
你可以使用html传递语法:
html-attribute=value
例如
html-class="toto" will output class="toto"