XPages tip: Using jQuery class selectors with hidden inputs
Posted: August 18, 2014 Filed under: Uncategorized | Tags: jQuery, XPages 2 CommentsIf you cut your XPages teeth by using the out-of-the-box-included dojo libraries, then you are probably intimately familiar with dojo.byId(“#{id:myElementID}”) to locate elements on your XPage based on the id attribute.
After starting to weave jQuery into your projects, you probably realized pretty quickly that the jQuery id selector syntax of $(“#myElementID”) does not work well with XPage component ids. But of course there is a solution for that – Marky Roden’s XSnippet which wraps the jQuery ID selector function in a XPage version.
Due to the above issues with getting elements by ID in jQuery, you probably started using class selectors such as $(“.myClassName”). This is all fine and good – until you go to add a class to the properties panel of a hidden input control:
As you can see from the screenshot above, there is no place to enter a class name in the properties for a hidden input control. Seems kind of silly, doesn’t it? It’s a field. Fields have classes. I should be able to add a class to a hidden field. Apparently not.
Luckily, there is an incredibly simple way to do this using the attrs properties in the basics section of the properties panel:
- Add a new attribute by clicking the plus sign
- In the name field, enter “class” (do not add the quotes)
- In the value field, enter the name of your class, for example, “myClassName” (again, no quotes)
Now, you should be able to access your hidden input using a jQuery selector.
Thanks for the link 🙂
yeah I always use Class selectors – haven’t actually used x$ myself in ages.
LikeLike
Agreed … in dojo, id selectors were easier, but the more I use jQuery, it’s pretty clear that class selectors are just easier to work with.
LikeLike