Передать параметр и использовать пользовательские атрибуты? - PullRequest
2 голосов
/ 06 ноября 2011

У меня есть следующий код на мой взгляд:

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

Код не работает, потому что commandLink не принимает атрибут «data-role».

Как я могу передать параметр, как я, во второй строке, но также иметь атрибут типа "data-role" в отображаемой ссылке?

Ответы [ 2 ]

2 голосов
/ 06 ноября 2011

Я никогда не находил способ добавить дополнительные атрибуты в теги VF. Лучше всего, чтобы IMO добавлял javascript, который запускается при загрузке страницы, а затем использовал метод .attr() JQuery для добавления атрибута в компонент.

Что-то вроде следующего (при условии, что вы включили 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 идентификаторы включают символы, которые необходимо экранировать для использования с jQuery, и я считаю, что это просто более простое и понятное решение (хотя, возможно, немного медленнее).

0 голосов
/ 05 декабря 2013

Вы можете просто использовать html через синтаксис:

html-attribute=value

например

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