2010-03-19 7 views
2

Je suis sûr que c'est très simple, mais je n'arrive pas à le faire fonctionner. J'ai une liste de sélection de "temps", qui a un nombre comme "rel" attaché à chaque option. Si l'utilisateur change l'heure, sélectionnez une nouvelle liste d'options à afficher en fonction de ce qui est sélectionné. Si ça a du sens?créer tableau jquery à utiliser comme options

Voici mon premier choisi:

<select name="time" id="time"> 
    <option value="7:00am" rel="10">7:00am</option> 
    <option value="12:30pm" rel="16">12:30pm</option> 
</select> 

Si l'utilisateur sélectionne 7h00, je veux une nouvelle liste d'options (en utilisant jquery) pour donner des options de 1 - 10. Comme ceci:

<select name="quantity" id="quantity"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    ............................ 
    <option value="10">10</option> 
</select> 

Voici ce que j'ai jusqu'à présent ...

<script type="text/javascript" language="javascript"> 
    jQuery("#time").change(function(){ 
    var positions = jQuery("#time :selected").attr("rel"); //this grabs the rel from time 

    //this is where it should create a list of options to append(??) to the select list.. 

    jQuery("#showQuantity").show(); //this shows the hidden field for quantity 
    }); 
</script> 

J'espère que cela est logique, mais je suis coincé là-dessus. Merci d'avance :)

+0

Je ne suis pas sûr si je comprends quelques parties. Est-ce qu'il doit y avoir une liste différente d'options pour chaque valeur 'rel'? Comment le rel affecte-t-il les options disponibles? Très probablement, il existe plusieurs façons d'accomplir ce que vous cherchez à faire. – JAL

+0

Les rel pour les temps changent, mais c'est fait plus tôt dans le code .. Donc c'est variable. Il ne devrait y avoir qu'une seule liste de sélection de "quantité", avec les nombres de 1 à (quelle que soit la valeur rel sélectionnée) si cela a du sens? – SoulieBaby

Répondre

4

Voici le code que vous pouvez utiliser pour ajouter des options.

$("#quantity").empty();//Clear options if there are any already existing ones. 

    for(i=1; i<= positions; i++) 
    { 

     $("#quantity").append($("<option value="+i+">"+ i+"</option>")); 

    } 
+0

Je suis un peu confus au sujet des exigences, mais il y a une autre question de mon côté. La question est que, est-il possible d'ajouter des valeurs dans #quantity select à partir de la base de données en PHP et JSP? –

+0

Merci Sharath pour votre aide, a bien fonctionné! @Param Je ne peux pas l'extraire de la base de données lorsque les positions changent, en fonction de quelques éléments différents de la base de données, et aussi de ce que l'utilisateur sélectionne sur le formulaire. – SoulieBaby

Questions connexes