2017-09-11 3 views
0

Je veux présenter une valeur déroulant désactivée:soumettre mvc déroulant désactivé C#

Vue:

@Html.DropDownFor(model => model.Type_Id, Model.TypeDropDown) 
@Html.HiddenFor(m => m.Type_Id) 

Javascript:

$("#Type_Id").val("67").change(); 
document.getElementById("Type_Id").disabled = true; 
$('#Type_Id').val(67); 

Mais ma valeur DonT passé au contrôleur C#.

+0

Est-ce que vous faites un formulaire ici? L'attribut 'disabled' ne publiera pas de DDL respectif, utilisez' visibility: hidden' ou '$ ('# element'). hide()' à la place. –

+0

Mais je veux afficher une valeur fixe sur la liste déroulante désactivée. –

Répondre

0

Une fois que vous désactivez une liste déroulante, elle ne soumettra pas sa valeur, vous devez donc stocker votre valeur.

Voir: Disable Dropdown

une utilisation hiddenfor avec nameparameter pour stocker la valeur.

+0

Mais je veux afficher une valeur fixe dans la liste déroulante désactivée. –

+0

ah oka, j'ai mal compris, je vais modifier ma réponse. – user3759748

0

utilisez le champ masqué pour stocker la valeur de la liste déroulante désactivée. Dans votre code, vous devez manuellement définir la valeur du champ caché qui est dans le même formulaire avant de l'envoyer au contrôleur comme ci-dessous. Vous devez ajouter la propriété "Type_id_hidden" dans votre modèle pour accéder à la valeur dans le contrôleur.

@Html.Hidden("Type_id_hidden").

Mais dans votre code, vous avez utilisé le même identifiant à la fois champ caché et liste déroulante. définissez le champ caché avant de poster au contrôleur

var selectedVal = $("#Type_Id").val(); 
$("#Type_id_hidden").val(selectedVal); 
+0

Je ne comprends pas. Je dois ajouter une nouvelle propriété dans mon modèle? Long Type_id_hidden? Mon champ masqué doit avoir la même ID que la liste déroulante? –

+0

ajouter une nouvelle propriété 'int Type_id_hidden' dans votre modèle qui est vous liant dans le contrôleur. dans votre code vous avez le même id pour le champ caché et dropdown donc quand vous définissez la valeur en utilisant jquery il devient confus et la valeur du champ caché n'est jamais envoyé au contrôleur – Niladri

+0

vous devriez avoir un identifiant unique pour le champ caché et dropdown pour utiliser jquery – Niladri

0

Utilisez un champ caché supplémentaire avec la même valeur que menu déroulant pour présenter la valeur et laisser le menu déroulant juste pour montrer la valeur.

Vous ne pouvez pas indiquer la valeur d'un champ désactivé.

+0

Comment puis-je le faire? Pouvez-vous illustrer? –