传递参数并使用自定义属性?

发布于 2024-12-13 21:25:25 字数 289 浏览 2 评论 0原文

我认为有以下代码:

<apex:commandLink data-role="button" action="{!someAction}">
<apex:param name="someVar" value="someVarVal">
</apex:commandLink>

该代码不起作用,因为 commandLink 不采用“data-role”属性。

如何传递像第二行一样的参数,同时在渲染的链接上还具有“data-role”之类的属性?

I have the following code in my view:

<apex:commandLink data-role="button" action="{!someAction}">
<apex:param name="someVar" value="someVarVal">
</apex:commandLink>

The code does not work because commandLink does not take the "data-role" attribute.

How can I pass a parameter like I am with the second line, but also have an attribute like "data-role" on the rendered link?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一个人的旅程 2024-12-20 21:25:25

我从来没有找到一种方法将额外的属性放入 VF 标签中,IMO 最好的选择是添加一些在页面加载时运行的 javascript,然后使用 JQuery 的 .attr() 方法添加属性到组件。

类似以下内容(假设您已 通过静态资源包含 jquery

<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 一起使用的符号,而且我发现这只是更简单、更干净的解决方案使用(尽管可能稍微慢一些)。

I've never found a way to put extra attributes into VF tags, your best bet IMO would be to add some javascript which runs on page load and then use JQuery's .attr() method to add the attribute to the component.

Something like the following (assuming you've 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>

You'll notice I've used a class instead of ID here, this is simply because SFDC generated IDs include symbols which need to be escaped for use with jQuery, and I find this is just the easier and cleaner solution to use (albeit probably slightly slower).

ゃ懵逼小萝莉 2024-12-20 21:25:25

你可以只使用 html pass through 语法:

html-attribute=value

例如

html-class="toto" will output class="toto"

you can just use html pass through syntax :

html-attribute=value

for example

html-class="toto" will output class="toto"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文