2010-02-04 7 views
0

J'utilise le script de portefeuille filtrable par les campagnes de nouveaux médias (http://www.newmediacampaigns.com/page/a-jquery-plugin-to-create-an-interactive-filterable-portfolio-like-ours) qui fonctionne correctement lorsque vous utilisez des liens normaux dans une liste non ordonnée. Je voudrais offrir les options dans une selectbox si. Quelqu'un pourrait-il me pointer dans la bonne direction?Portefeuille filtrable jquery utilisant selectbox au lieu de href normal

edit: Je voudrais utiliser le filtre en sélectionnant les options d'une boîte de sélection comme si

<select id="someid"> 
    <option selected value="#All">All</option>    
    <option value="#Design">Design</option>  
    <option value="#Political">Political</option> 
    <option value="#Business">Business</option> 
</select> 
+0

quelles sont les options que vous voulez offrir dans une boîte de sélection? Vous voulez dire comme * Design/Agency Partner/Political *? – Natrium

+0

c'est exactement ce que j'essaie de faire – Taeke

+0

s'il vous plaît définir * selectbox * un peu plus – Natrium

Répondre

1

vous avez un -event change sur votre select. Dans ce gestionnaire, vous devez appeler la même routine que de cliquer sur le lien!

mais: élévation change -événement dépend du navigateur. on peut l'appeler immédiatement, d'autres quand vous flouez!

combinent l'idée avec filterable docu:

$(document).ready(function(){ 
$('portfolio-list').filterable(); 
$('#linkID').click(function(){ 
    $('portfolio-list').trigger('filter', [ '#jquery' ]); 
}); 
}); 

par exemple

var myFilterable = $('#myFilterable').filterable(); 
var mySelect = $('#mySelect'); 
mySelect.change(function() { 
    var index = mySelect[0].selectedIndex; 
    var element = mySelect[0].options[index]; 
    var tag = $(element).attr('value'); // jQuery variant 
    //var tag = element.value; // html variant 
    //var tag = $(element).val(); // should work either! 
    // TODO: create an array with the variable value 
    myFilterable.trigger('filter', /* array of tag(s) you want to show*/); 
}); 
+0

Merci, mais je ne peux pas le faire pour le moment .. à partir de l'exemple que j'ai fourni dans ma question initiale, le tableau doit ressembler à myFilterable.trigger ('filter', new Array ('# all', '# Design', '# Political', '# Business')); ou différemment? Et que dois-je faire avec "// TODO ... obtenir ID/classe et le transmettre à votre composant-appel" – Taeke

+0

jeter un oeil à ma mise à jour: il (ou le docu) vous dit comment le tableau devrait ressembler! le 'TODO' est par exemple. 'element.attr ('id')' –

+0

À la votre, Andreas! après avoir changé element.attr en var tag = $ (élément) .attr ('valeur'); cela a fonctionné – Taeke