2010-12-04 25 views
1

En raison des restrictions de la modification de certains de mes modèles, je vraiment besoin de votre aide:Générer Sélectionnez au lieu d'entrée

  1. générer une liste de sélection avec options prédéfinies au lieu d'entrée champ
  2. champ entrée
  3. être caché après sélectionner est généré
  4. lorsque certaines options sélectionnées transfèrent la valeur de cette option dans cette entrée cachée

Je fournir un certain HTML pour être plus clair:

C'est ce que nous avons dans le modèle avant de jQuery est appliqué:

<input type="text" id="myId" name="myName" value=""> 

Ceci est ce dont nous avons besoin après l'application de jQuery

<select id="mySelect"> 
    <option>a</option> 
    <option>b</option> 
    <option>c</option> 
</select> 

<input type="text" id="myId" name="myName" value="" style="display:none"> 

Veuillez noter: Je dois prédéfinir la valeur des options et leur quantité. Select doit être généré à l'endroit où le champ de saisie était.

Egalement: J'ai également vraiment besoin de générer deux listes de sélection ou plus dans certains modèles et de transférer les valeurs des options sélectionnées de manière cohérente en une seule entrée.

Exemple:

<select id="mySelect1"> 
    <option>a</option> 
    </select> 

    <select id="mySelect2"> 
    <option>b</option> 
    </select> 

    <input type="text" id="myId" name="myName" value="a b" style="display:none"> //a + b added 

Merci à l'avance!

Répondre

2
  1. Masquer votre boîte d'entrée.

    $ ("# myId") hide();

  2. générer dynamiquement un select-Box:

var select = "<select onchange=\"$('#myId').val(this.value);\">"+ 
      "<option value=\"a\">a</option>" + 
      "<option value=\"b\">b</option>" + 
      "<option value=\"c\">c</option>" + 
      "</select>"; 
  1. Insérer cette case avant ou après l'entrée boîte:

$ (sélectionnez) .insertBefore ($ ("# myId"));

ou

$ (sélection).insertAfter ($ ("# myId"));

+0

Y a-t-il une chance de faire une liste d'options avec l'utilisation de la balise

+0

somth comme ça (désolé pour le balisage) var = $ ourvalue ("a", "b", "c", "d")