web-dev-qa-db-fra.com

Evénement de changement de déclencheur <select> en utilisant jquery

est-il possible que je puisse déclencher un événement de changement dans la zone de sélection lors du chargement de la page et sélectionner une option en particulier? 

Également la fonction exécutée en ajoutant le déclencheur après avoir lié la fonction à l'événement.

J'essayais de sortir quelque chose comme ceci

<select class="check">
<option value="one">one</option>
<option value="two">two</option>
</select>

$(function(){
    $('.check').trigger('change'); //This event will fire the change event. 
    $('.check').change(function(){
      var data= $(this).val();
      alert(data);            
    });
});

http://jsfiddle.net/v7QWd/1/

102
kishanio

Utilisez val() pour passer à value (pas le texte) et trigger() pour déclencher l'événement manuellement.

Le gestionnaire d'événements change doit être déclaré avant le déclencheur.

Voici un échantillon

$('.check').change(function(){
  var data= $(this).val();
  alert(data);            
});

$('.check')
    .val('two')
    .trigger('change');
201
Joseph

Pour sélectionner une option, utilisez .val('value-of-the-option') sur l'élément select. Pour déclencher l'élément de modification, utilisez .change() ou .trigger('change').

Les problèmes de votre code sont la virgule au lieu du point dans $('.check'),trigger('change'); et le fait que vous l'appelez avant de lier le gestionnaire d'événements.

22
ThiefMaster
$('#edit_user_details').find('select').trigger('change');

Cela changerait l'élément de liste déroulante du tag select html avec id="edit_user_details".

9
Sohail xIN3N

Si vous voulez faire des vérifications, utilisez cette méthode

 <select size="1" name="links" onchange="functionToTriggerClick(this.value)">
    <option value="">Select a Search Engine</option>        
    <option value="http://www.google.com">Google</option>
    <option value="http://www.yahoo.com">Yahoo</option>
</select>

<script>

   function functionToTriggerClick(link) {

     if(link != ''){
        window.location.href=link;
        }
    }  

</script>
1
Afraz Ahmad

Donne des liens en valeur de la balise d'option

<select size="1" name="links" onchange="window.location.href=this.value;">
   <option value="http://www.google.com">Google</option>
   <option value="http://www.yahoo.com">Yahoo</option>
</select>
1
Afraz Ahmad

Une autre solution de travail pour ceux qui ont été bloqués avec le gestionnaire de déclencheur jQuery, est que le tir dosent sur les événements natifs sera comme ci-dessous (100% de travail):

var sortBySelect = document.querySelector("select.your-class"); 
sortBySelect.value = "new value"; 
sortBySelect.dispatchEvent(new Event("change"));
0
Mohamed23gharbi