2011-09-20 8 views
0

J'ai 3 groupés sélectionnez Mois, Jour et Année ... Je modifie le contenu de Jour SELECT en fonction des valeurs des sélections Mois et Année. Par exemple, je vais faire les options dans Day jusqu'à 28 si le mois est Février etc Je veux une fonction qui s'exécute si l'utilisateur a changé la valeur de mois ou d'année, mais ignorer si le jour est sélectionné. J'ai cette fonctionJQuery: Déterminez quel SELECT parmi les enfants a changé

$("#ui-1 .ui-select").children().change(
    function(){ 
    ...if the Day select has been changed exit this function 
    }); 
}); 

Je HTML .... ce

  <div id="ui-1"> 
      <div class="ui-select" data-role="controlgroup" data-type="horizontal" > 
       <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_0" name="Datepicker_0_0"> 
        <option value="1">January</option> 
        <option value="2">February</option> 
        .... and so on 
       </select> 
       <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_1" name="Datepicker_0_1"> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        ... up to here 
        <option value="31">31</option> 
       </select> 
       <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_2" name="Datepicker_0_2"> 
        <option value="1975">1975</option> 
        <option value="1976">1976</option> 
        <option value="1977">1977</option> 
        ...up to here 
        <option value="2050">2050</option> 
       </select> 
      </div> 
      </div> 

Répondre

2

this des points à l'élément à partir duquel origine de l'événement, vous pouvez utiliser if(this.id == 'Datepicker_0_1') return;

+0

merci! J'ai essayé ça et ça marche parfaitement! –

1
$("#ui-1 .ui-select").children().change(
    function(){ 
     if(this.id == "Datepicker_0_0") return; 
     //rest of code 
    }); 
}); 

Vérifier si l'attribut id de l'élément select est égal à "Datepicker_0_0" (c'est l'identifiant de votre "Jour" sélectionnez l'élément).

+0

merci! cela marche! –

1

Vous devriez pouvoir spécifier un id ou un name pour chaque sélection. Vous pouvez déterminer lequel le sélectionner par $(this).attr('id') ou 'name'.

+0

merci de votre aide uku-san –

1
function(){ 
    if($(this).attr('name') == 'Datepicker_0_1') 
     return; 
}); 
+0

merci! cela fonctionne très bien aussi –

Questions connexes