2017-05-11 1 views
0

Ici, j'ai des listes déroulantes dynamiques basées sur le fournisseur. J'ai deux fournisseurs exemple providerid = 15 et providerid = 16. Chaque fois que je sélectionne la liste déroulante de providerid = 15, je reçois la valeur déroulante sélectionnée de celui-là, mais chaque fois que je sélectionne dropdown of providerid = 16 j'obtiens une option statique que je garde c'est-à-dire "Avaliability". Je ne veux pas que cette valeur statique, je veux providerid = 16 dropdwon valeur sélectionnée.Comment obtenir la valeur déroulante particulièrement sélectionnée

Ceci est mon code:

@if (provider.lstSession.Count > 0) 
    { 
     <div class="form-group" id="svcn"> 
      <div style="color:red"> @ViewBag.Message</div> 
      <select id="SessionID" name="SessionID" class="form-control"> 
      <option>Avaliablity</option> 
      @foreach (var Sesssion in provider.lstSession) 
       { 
       if (provider.ProviderID == Sesssion.ProviderID) 
        { 
        <option value="@Sesssion.ProviderID'_'@Sesssion.SessionID" id="sss">@Sesssion.SessionName</option> 
        } 
       } 
      </select> 
      </div> 
    } 

$("#SessionID").change(function(){ 
var slotvalue = $('#SessionID :selected').val(); 
     }); 
+2

On ne sait pas de quoi vous parlez. Veuillez nous montrer le HTML rendu, car vous n'écrivez probablement pas le '

Répondre

0

Vous avez besoin de mettre "ce" pour obtenir la valeur réelle sélectionnée, pas le premier sélectionné:

$("#SessionID").change(function(){ 
 
    var slotvalue = $('#SessionID :selected', this).val(); 
 
});

ou

$("#SessionID").change(function(){ 
 
    var slotvalue = $(this).find('option:selected').val(); 
 
});

+0

les deux ne fonctionnent pas pour la deuxième liste déroulante, c'est-à-dire pour providerid = 16 –

1

Est-ce que

$(this).val() 

fonctionne pas? Inspectez également la liste déroulante via les outils de développement, essayez d'obtenir un fichier jsfiddle créé avec html généré et aucun code côté serveur pour les autres à vérifier.