If you look @ the document for ".is()" http://docs.jquery.com/Traversing/is#expr
---------------------------------------------------- Checks the current selection against an expression and returns true, if at least one element of the selection fits the given expression ---------------------------------------------------- It's looking for a jQuery selector, not a value to compare against is it finds item matching the selector, you get true, otherwise you get false and also (if you read the docs), .val(): ---------------------------------------------------- Get the content of the value attribute of the first matched element ---------------------------------------------------- So it is not a jQuery object, hence you cannot do jQuery functions on it.... On Jan 19, 9:57 am, fredriley <fred.ri...@gmail.com> wrote: > Hi > > My first message on this board after some weeks learning, and fighting > with, jQuery. My main question is: is there any documentation on > simple comparative operators in jQuery? I'm thinking of =, <, >, <>, > that sort of thing. I'm aware that these symbols aren't used in > jquery, so that to test equality, say, you have to use is(), but I > can't find any documentation on is() or similar. This has come to mind > because of the following simple code: > > // Choosing 'Other' from the organisation type combo box displays the > 'other type' field > $("#myorgtype").change(function() > { > var temp = $(this).val(); > alert (temp); > // if (temp == "Other") > if ($(this).val().is('Other')) > { > alert ('other'); > } > }); > > used with a simple combo box: > > <select name="myorgtype" id="myorgtype"> > <option value="" selected="selected">Please Select</option> > <option value="Further Education" >Further Education</ > option> > <option value="Higher Education" >Higher Education</option> > <option value="Schools" >Schools</option> > <option value="NHS">NHS</option> > <option value="Commercial" >Commercial</option> > <option value="Other" >Other (please specify)</option> > </select> > > Can't get much simpler. However, the comparative operation: > > if ($(this).val().is("Other")) > > throws the error: > > $(this).val().is is not a function > > whereas comparing the value of 'temp' is fine. Ok, no big, not a > problem, I'll just use the var assignment, but I would like a) to know > why is() isn't working, and b) to find documentation on comparative > operators. I've also tried $('#myorgtype option:selected"), and the > explicit element id rather than 'this', but no dice. > > Cheers > > Fred > > PS: Although I'm a trained and long-experienced programmer and web > developer, I've found the learning curve for jQuery to be steeper than > that for Javascript, and have definitely spent longer using jQuery for > simple operations than I'd have done using bare JS. Now that I've > invested many tens of hours in jQuery I'll stick with it and I'm sure > that eventually it's pay productivity dividends, but it has been quite > a headache... :((