codegy
codegy

Reputation: 2339

YUI Button apply by class name

Is it possible to apply / create a YUI Button by using an element's class name and not by id. I have to generate a list of buttons then transform it to a YUI button.

[Update]

By the way, I'm trying to apply the button in an anchor tag. So it will be a link button.

[Update:Code]

Ok so here's the code. I have a loop that generates this anchor tag.

<a class="system-button" href="/system/edit/12">Edit</a>

wrumsby's answer perfectly makes sense. But I don't know why it doesn't work. I tried debugging it and the elements are successfully fetched. But it seems that no YUI Buttons are created.

I even tried generating unique ids for the elements but still no luck.

Any ideas?

Upvotes: 0

Views: 745

Answers (2)

codegy
codegy

Reputation: 2339

Looks like I've solved it myself. But I'm not sure if this is the best solution. I generated unique ids then create the buttons.

    var i = 0;
$(".system-button").each(function(i,b){

    var button = new YAHOO.widget.Button($(b).attr('id','system-button'+i).attr('id'));
     i++;
});

And oh yes, I use JQuery here. That framework is so awesome.

Upvotes: 1

Walter Rumsby
Walter Rumsby

Reputation: 7535

You should be able to use the srcelement configuration attribute like so:

(function() {
    var Dom = YAHOO.util.Dom,
        Event = YAHOO.util.Event,
        Button = YAHOO.widget.Button;

    Event.onDOMReady(
        function() {
            var elements = Dom.getElementsByClassName('...');

            for (var i = 0; i < elements.length; i++) {
               var button = new Button({
                   srcelement: elements[i],
                   ...
               });
               ...
            }
        }
    );
})();

Upvotes: 0

Related Questions