2010-05-04 5 views
1

Veuillez jeter un coup d'oeil ici: http://www.binarymark.com/Products/FLVDownloader/order.aspxComment utiliser JQuery pour tronquer le contenu des balises d'option?

Ce que j'essaye de faire est de se débarasser des prix dans l'étiquette d'option. Sur cette page, vous pouvez voir une liste déroulante sous Informations sur la commande, Produit. Je veux supprimer les prix de toutes les options qui les contiennent dans cette boîte, alors débarrassez-vous de "- $ 75.98" par exemple. Je ne suis pas habitué à JQuery, mais je réalise que ce serait possible - je ne sais pas trop comment le faire, donc votre aide serait grandement appréciée.

Merci. George

+1

Cela ne serait-il pas plus facile côté serveur? – RoToRa

Répondre

1

Quelque chose comme ça devrait faire l'affaire:

$('select[name="contractId"] > option').each(function() 
{ 
    var $this = $(this); 
    $this.text($this.text().split(/\s-/)[0]); 
}); 

Cela devrait scinder le texte en un tableau avec la partie « voulait » comme index 0 et définissez le texte sur tout ce qui est contenu dans cet index. Vous pouvez également utiliser une regex de remplacement si vous le souhaitez.

Il serait plus logique de faire ce côté serveur, si un utilisateur a JS désactivé sur sa machine, vous pourriez rencontrer des problèmes avec l'affichage des prix incorrects.

+0

Merci beaucoup! Cela a fait l'affaire! Mais cela fonctionnera-t-il dans tous les principaux navigateurs? – George

+0

@George: jQuery gère les différences du navigateur avec 'text()', et bien que 'split 'varie selon l'implémentation, cette expression regex particulière devrait fonctionner de la même manière pour toutes les implémentations. –

0

Malheureusement, en fonction de votre pays d'origine, Plimus n'est pas autorisé à poursuivre ce processus. Donc je ne peux pas t'aider! :)

mais cela est l'idée générale:

if ($('#field > div.field-item:contains("someText")').length > 0) { 
$("#somediv").addClass("thisClass"); 
} 
Questions connexes