The author of xVal released a changeset that supported 1.3.2...and that resolved the issue. Thanks for the example $.each loop. That was the code I was looking for to only affect labels for required fields.
Baum On Apr 3, 1:54 pm, Baum <dbau56...@gmail.com> wrote: > James, > > Maybe it is a question of timing? > > When I hard-coded class="required" on the input fields I received the > desired effect. However, I want to get this effect based on business > rules on my object model. > > Version 1.3.2 that comes as part of the asp.net mvc releases does not > contain any changes to the code. Something I forgot to mention (did > more research) and the xVal code adds the class="required" attribute > via the addClass method to the input field at runtime based on jQuery > validation (addon?) rules. I have verified using Firebug that the > class is being applied to the elements correctly. > > Baum > > On Apr 3, 1:16 pm,Baum<dbau56...@gmail.com> wrote: > > > No. This is my first project with jQuery. I used your (James, March > > 31) code directly and that is the only jQuery call used in the entire > > site. I happened to have some asp.net MVC samples that used 1.2.6 and > > I switched the reference to use the 1.2.6 version and the code worked > > as expected. > > > I will try to download 1.3.2 from the jQuery.com. > > > Thanks, > > >Baum > > > On Apr 1, 5:54 pm, James <james.gp....@gmail.com> wrote: > > > > I'm not sure what the asp.net MVC release of jquery is and if it's > > > been modified from the original, but on my 1.3.2 (from jquery.com), > > > the code works. So there is no problem with jQuery 1.3.2 regarding each > > > (). > > > There must be something else that's causing the issue. Do you still > > > have somewhere in your code the deprecated syntax with the @ in the > > > selectors? > > > Eg. $("inp...@type=text]") > > > > On Mar 31, 5:51 pm,Baum<dbau56...@gmail.com> wrote: > > > > > Thanks James. > > > > > I am just getting started with jQuery so the syntax is rather new. > > > > What I found is that the jquery-1.3.2.js file that I am using as part > > > > of the asp.net MVC release does not appear to work with each syntax (I > > > > only get the first input field back). I reverted back to 1.2.6 and it > > > > appears to work. > > > > > This leads me to believe there is a problem with 1.3.2... > > > > >Baum > > > > > On Mar 31, 9:04 pm, James <james.gp....@gmail.com> wrote: > > > > > > How about something like: > > > > > > $required = $(".required"); // list of elements with 'required' class. > > > > > $.each($required, function(i) { > > > > > var id = $(this).attr('id'); > > > > > var $label = $("label[for="+id+"]"); > > > > > $label.text( $label.text()+'*' ); > > > > > > }); > > > > > > The requirement is that all your .required input's ID should have a > > > > > corresponding label with a matching 'for' ID. (It's not going to bomb > > > > > or anything if it doesn't.) > > > > > > On Mar 31, 3:46 pm,Baum<dbau56...@gmail.com> wrote: > > > > > > > One note the javascript included in the original post is > > > > > > incorrect...I > > > > > > was playing around and pasted the wrong copy...remove the each(). > > > > > > Also > > > > > > var size = $(".required").size(); is equal to 1 but var size = $ > > > > > > ("input").size(); is equal to 2. > > > > > > > Thanks. > > > > > > > On Mar 31, 7:56 pm,Baum<dbau56...@gmail.com> wrote: > > > > > > > > Hi, > > > > > > > > I am looking to use jQuery in conjunction with xVal for > > > > > > > validation. > > > > > > > One of the cool things I though jQuery would allow me to do is > > > > > > > append > > > > > > > an asterisk (*) to the label of "ALL" my fields that have a css > > > > > > > class > > > > > > > of "required". The example below only applies the asterisk to the > > > > > > > first field. > > > > > > > > How can I get all of the fields from my page that have a > > > > > > > class="required", find the label (previous element) for each, and > > > > > > > append some text (an asterisk) to the label for that field? > > > > > > > > Example > > > > > > > ====================== > > > > > > > > <script type="text/javascript"> > > > > > > > $(document).ready(function() { > > > > > > > //$('label.required').append(' <strong>*</ > > > > > > > strong> '); > > > > > > > $(".required").each().prev().not('input').not('br').not > > > > > > > ('select').append(' * '); > > > > > > > }); > > > > > > > </script> > > > > > > > > <label for="FirstName'>LastName</label> > > > > > > > <input id="FirstName" class="required" /> > > > > > > > > <label for="LastName">LastName</label> > > > > > > > <input id="LastName" class="required" /> > > > > > > > > Thanks, > > > > > > > >Baum