As far as I know you can't use anything but a simple number with the
":eq()" selector.

You could rewrite the code as:

    $( "select#cert_id option:eq(" + (i > 1?1:0) +  ")" ).attr(
"selected", true );

Note how the ternary operator is "outside" the selector string, it's
just used to produce a 1 or a 0, which is then merged into the
selector string.

Karl Rudd

On Tue, Apr 15, 2008 at 10:32 AM, Rey Bango <[EMAIL PROTECTED]> wrote:
>
>  Guys,
>
>  I wanted to set an option in a select element to "selected". The options
> are being created on the fly. The rules are simple. If there's more than one
> option, then set the second option to "selected". Otherwise, set the first
> option to "selected". I tried to use a ternary operator but it failed:
>
>  $("select#cert_id option:eq((i > 1?1:0))").attr( "selected", "selected" );
>
>
>  If I use the code below, it works:
>
>  if (i > 1) {
>         $("select#cert_id option:eq(1)").attr( "selected", "selected" );
>  }
>  else {
>         $("select#cert_id option:eq(0)").attr( "selected", "selected" );
>                 }
>
>  Could someone give me some insight as to why the ternary expression option
> failed?
>
>  Thanks,
>
>  Rey
>

Reply via email to