2010-10-21 2 views
0

J'ai la fonction jQuery suivante:Comment filtrer par une sous-chaîne en HTML?

var $content = $("#content"); 
var $map= $("#map"); 
$.each(plots, function() { 
    var plot = this; 
    var $plot = $("<a />") 
    .css({ 
     'width': plot.width, 
     'height': plot.height, 
     'top': plot.top, 
     'left': plot.left, 
     'background': plot.color, 
    }) 
    .hover(function() { 
     $content.html(plot.content); 
    }); 
    $map.append($plot); 
}); 

Je veux tracer la partie .css (qui trace un carré) que si plot.content contient une sous-chaîne d'une <input type=text name=filter> qui apparaît sous une forme dans une autre partie du code HTML. comment pourrais-je faire ça?

En outre, je veux avoir un bouton qui réexécute/redessine tous les rectangles. quelle fonction dois-je exécuter? c'est juste que je ne connais pas grand-chose à cette langue, je suis habitué à Javascript.

+0

On dirait que vous utilisez jQuery, cela est correct? –

Répondre

1

Je ne sais pas si c'est ce que vous voulez:

var plot = this; 
var filter = $('input[name=filter]').val(); // get the value to search for 

if(plot.content.indexOf(filter) >= 0) { //check whether it is in plot.content 
    var $plot = $("<a />") 
    .css({ 
     'width': plot.width, 
     'height': plot.height, 
     'top': plot.top, 
     'left': plot.left, 
     'background': plot.color, 
    }) 
    .hover(function() { 
     $content.html(plot.content); 
    }); 
    $map.append($plot); 
}