You may wish to file a bug report on this.  The selector engine did
change in 1.3

On Wed, Feb 4, 2009 at 11:04 AM, brnwdrng <brianwoodr...@gmail.com> wrote:
>
> It's something in jQuery 1.3 ... the code works in Chrome and Safari
> when I use jQuery 1.2.x.
>
> On Feb 4, 10:59 am, brnwdrng <brianwoodr...@gmail.com> wrote:
>> Interesting postnote:
>>
>> The solutions given seem to work for the latest versions of Firefox,
>> IE, and Opera; but fail in Chrome and Safari.  They don't seem to be
>> able to distinguish the empty text boxes from populated ones.
>>
>> On Feb 4, 8:53 am, brnwdrng <brianwoodr...@gmail.com> wrote:
>>
>> > I got the second suggestion to work (Aaron's); though there was a
>> > minor typo that had to be fixed - the ending double quote
>> > before ).toggleClass
>>
>> > I fixed my secondary problem by removing the class from all the fields
>> > prior to applying the shade effect on each user submit.  So, it ends
>> > up looking like this, for future viewers:
>>
>> > $("#<%= this.pnlInputFields.ClientID %> input").removeClass
>> > ('inputFields_empty');
>> > $("#<%= this.pnlInputFields.ClientID %> input[class='inputFields']:not
>> > ([value])").toggleClass('inputFields_empty');
>>
>> > or, my lamer iteration version now works with the remove statement
>> > preceding it:
>>
>> > $("#<%= this.pnlInputFields.ClientID %> input").removeClass
>> > ('inputFields_empty');
>> > $("#<%= this.pnlInputFields.ClientID %> input
>> > [class='inputFields']").each(function(i) { $(this).toggleClass
>> > ('inputFields_empty', $.trim($(this).val()).length < 1); });
>>
>> > Thanks for the help!
>>
>> > On Feb 4, 7:22 am, Aaron Gundel <aaron.gun...@gmail.com> wrote:
>>
>> > >  $("#<%= this.pnlInputFields.ClientID %>
>> > > input[class='inputFields']:not([value])).toggleClass('inputFields_empty');
>> > > should do the trick.
>>
>> > > On Tue, Feb 3, 2009 at 2:57 PM, brnwdrng <brianwoodr...@gmail.com> wrote:
>>
>> > > > I have a set of text box inputs in a div, and want to color the empty
>> > > > ones red (css) when a user attempts to submit incomplete fields. I've
>> > > > tried this with and without an explicit iterator, as shown in the two
>> > > > examples below.
>>
>> > > > (a)
>> > > > $("#<%= this.pnlInputFields.ClientID %> input[class='inputFields']
>> > > > [value='']").toggleClass('inputFields_empty');
>>
>> > > > (b)
>> > > > $("#<%= this.pnlInputFields.ClientID %> input
>> > > > [class='inputFields']").each(function(i) { $(this).toggleClass
>> > > > ('inputFields_empty', $.trim($(this).val()).length < 1); });
>>
>> > > > The first one fails with an error message indicating that [value='']
>> > > > is an unrecognized expression (Firebug), though [value='helloworld']
>> > > > works, correctly toggling the inputFields_empty class on (but not off)
>> > > > wherever it finds "helloworld" in a text box.  I've tried countless
>> > > > variations on this, and can't seem to get it right for an empty field
>> > > > (tried :empty too).
>>
>> > > > The second one (b) works, at least initially, highlighting the empty
>> > > > text boxes. Not as elegant as something like (a) might be, but I'll
>> > > > use it if (a) is infeasible.  Note that it only works the first time
>> > > > my button is pushed; subsequent changes in the textbox fields (like
>> > > > the user erasing them) fail to remove the inputField_empty class (not
>> > > > posting back, just have a onclick call that runs this validator
>> > > > method).
>>
>> > > > Any suggestions?

Reply via email to