2009-12-21 4 views
2

J'utilise ce script http://mondaybynoon.com/2009/02/23/creating-custom-form-elements-using-jquery-selects/ pour créer des boîtes de sélection CSS personnalisé dans ma page. Le code JavaScript utilisé pour appliquer les styles CSS sur selectboxes, utilise son identifiant comme paramètre:Css personnalisé sélectionner des boîtes en utilisant jquery

$(document).ready(function() { 
$('#cont').selectbox({debug: true}); 
}); 

<select id="cont" name="cont" tabindex="1"> 
<option value="1">aaa</option> 
<option value="2">bbb</option> 
<option value="3">ccc</option> 
</select> 

Puis-je utiliser en quelque sorte que l'attribut « nom » des boîtes de sélection et non le « id » ??? Est-ce possible?

+0

juste une note, pas sûr que faute de frappe, mais votre sélecteur id ne correspond pas à – TStamper

+0

merci, vous avez raison à ce sujet, j'ai changé le code. – zekia

Répondre

3

vous pouvez utiliser le sélecteur d'attribut à selct via le nom

par exemple

$('select[name="cont"]').selectbox({debug: true}); 
+0

merci à tous pour vos réponses rapides :) La raison pour laquelle je voulais changer cela était parce que j'utilise un peu ajax et php pour charger des options dans ces boîtes de sélection. Ce code ajax/php a cessé de fonctionner après avoir ajouté l'attribut id dans les zones de sélection. Je pensais que supprimer le "id" permettrait de résoudre le problème. Finalement, il semble que ce n'est pas le "id" qui cause le problème. Pour une raison quelconque, ces deux choses ne peuvent pas fonctionner les deux en même temps. – zekia

+1

Serait intéressé d'aller au fond de cela. Cette correction ressemble à un peu de fudge –

3

Bien sûr, à la base de votre sélection hors du nom attribut, il suffit de faire ce qui suit:

$("[name='nameHere']"); 
3

Voici comment vous le faites

$("[name='cont']"); 

La combinaison avec un sélecteur d'élément va rendre plus rapide:

$("select[name='cont']"); 

Bien que dans l'exemple que vous donnez, je ne peux pas imaginer Pourquoi. Ce qui suit sera beaucoup plus rapide:

$("#cont"); 
Questions connexes