2017-07-18 3 views
0

J'ai besoin de js pour créer un bookmarklet afin de remplir un formulaire. va ici le code HTML:Liste déroulante des signets avec saisie semi-automatique

<tr> 
    <td>Gender</td> 
    <td> 
     <div class="select2-container select2-container-active" id="s2id_ContentPlaceHolder1_personDetails_genderDropDownList"> 
     <a href="javascript:void(0)" class="select2-choice select2-default" tabindex="-1"> 
      <span class="select2-chosen" id="select2-chosen-2">Select an Option</span> 
       <abbr class="select2-search-choice-close"></abbr> 
        <span class="select2-arrow" role="presentation"> <b role="presentation"></b></span></a> 
         <label for="s2id_autogen2" class="select2-offscreen"></label> 
          <input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-2" id="s2id_autogen2" tabindex="0" autocomplete="Female"> 
     </div> 
     <select name="_ctl0:ContentPlaceHolder1:personDetails:genderDropDownList" id="ContentPlaceHolder1_personDetails_genderDropDownList" onchange="nzis.UpdateDropdownErrorLabel(this)" errorlabel="mandatory" tabindex="-1" title="" style="display: none;"> 
     <option selected="selected" value=""></option> 
     <option value="M">Male</option> 
     <option value="F">Female</option> 
     </select> 
    </td> 
</tr> 

J'ai essayé avec quelques JS sans succès. JS:

var index = document.getElementById('ContentPlaceHolder1_personDetails_genderDropDownList').selectedIndex; 
    alert("value="+document.getElementById('ContentPlaceHolder1_personDetails_genderDropDownList').value); 
    alert("text="+document.getElementById('ContentPlaceHolder1_personDetails_genderDropDownList').options[1].text); 
s2id_autogen2.value= document.getElementById('ContentPlaceHolder1_personDetails_genderDropDownList').options[2].text; 

Répondre

0

Essayez d'exécuter le bookmarklet comme celui-ci:

javascript: (function() { 
    var eltSelect = document.getElementById('ContentPlaceHolder1_personDetails_genderDropDownList'); 
    eltSelect.options[2].selected = true; 
    eltSelect.onchange(); 
    s2id_autogen2.value = eltSelect.options[eltSelect.selectedIndex].text; 
})(); 
+0

Juste testé et je pense qu'il est proche. Voici un exemple. https://jsfiddle.net/8qn7atLL/ Le code que vous avez choisi m'a automatiquement choisi l'option. J'ai juste besoin de l'obtenir dans la boîte "Sélectionnez une option" maintenant. Le HTML dans le jsfiddle est le même que j'ai écrit dans ma question avec une chose différente. J'ai enlevé le style déroulant "display: none" pour que vous puissiez voir ce que je veux dire. –

+0

J'ai mis à jour le bookmarklet en ajoutant une ligne de code supplémentaire. – Shugar

+0

Vous êtes un GENIOUS !!! Cela a fonctionné: D J'ai une autre question. Comment puis-je ajouter plusieurs ID à ce code? Je veux dire que j'ai: 'ContentPlaceHolder1_personDetails_genderDropDownList' 'ContentPlaceHolder1_personDetails_genderTitleDownList' 'ContentPlaceHolder1_personDetails_genderCountryDownList' et tant d'autres .. Je pense peut-être faire des fonctions plus "eltSelect". –