2010-06-29 4 views
2

J'ai 2 boutons qui prennent le même format qui apparaît sur la page. Je voudrais qu'une option de liste déroulante change en fonction du bouton qui est déclenché.JQuery - Sélectionnez l'option

Qu'est-ce que je fais mal?

var settings = $(this).attr('rel'); 
$("select[@name='menu'] option[@value='"+settings+"']").attr("selected","selected"); 

Erreur

Error: uncaught exception: Syntax error, unrecognized expression:[@value='footer']

+0

Cela aurait dû être [value = 'footer'], pas [@ value = 'footer'] – Nenad

Répondre

11

Vous pouvez simplement le faire:

$("select[name='menu']").val($(this).attr('rel')); 

L'utilisation .val() est beaucoup plus rapide façon ... mais votre erreur est INTERVENUES parce que le @ a été retiré de attribute selectors dans jQuery 1.3, c'est juste [name='menu'] et [value='myValue'] maintenant.

+0

Merci beaucoup, je ne pouvais pas comprendre pourquoi cela ne fonctionnait pas. L'article que je suivais est évidemment un peu dépassé. Je vais cocher la réponse dans 12 minutes :) – JasonS