Gegeben ist unten mein Skript.Mein Problem ist, ich habe ein Textfeld, das ausgeblendet ist und nur angezeigt wird, wenn wir "andere" aus dropdownlist.On Display wann wählen wir geben einen Wert nach dem Post zurück, dieser Wert bleibt erhalten, aber dieses Textfeld wird unsichtbar.auf dem Postback-Dropdown-Listenwert wird jedoch beibehalten und als "andere" angezeigt und nur wenn ich einen anderen Wert von Dropdown wählen und dann wieder zu "anderen" dann ändern Textbox zusammen mit Text wird angezeigt..wie kann ich diesen versteckten oder sichtbaren Zustand davon beim Postback beibehalten?Behalten Sie den versteckten oder sichtbaren Zustand der zunächst versteckten Textbox auf Postback in MVC-Anwendung
<script type="text/javascript">
$(document).ready(function() {
$('#SelectedCategoryId').change(function() {
if ($('#SelectedCategoryId').val() === '5') {
$('#other').show(1000);
$('#other').change(function() {
var SelectedCategory = $('#other').val().toString();
$('#hiddenId').val(SelectedCategory);
});
}
else {
$('#other').hide(1000);
var SelectedCategory = $('#SelectedCategoryId option:selected').text();
$('#hiddenId').val(SelectedCategory);
}
});
});
</script>
My View
<div id="dropdown" class="form-control dropdown">
@Html.ValidationMessageFor(m => m.SelectedCategoryId, "*")
@Html.LabelFor(m => m.Category, "Department :", new { style = "display:inline;" })
@Html.DropDownListFor(m => m.SelectedCategoryId, new SelectList(Model.Category, "Value", "Text"), "SelectCategory", new { id = "SelectedCategoryId"})
@Html.ValidationMessageFor(m => m.Other, "*")
@Html.TextBoxFor(m => m.Other, new { id = "other", @class = "other" ,style = "display: none;" })
@Html.HiddenFor(m => m.SelectedCategory, new { id = "hiddenId" })
</div>
Tipp: Sie sollten sich mit $ (this) 'und' this' eingeführt bekommen. – melancia