2017-05-10 1 views
1

J'ai une étendue d'élément où je peux écrire le nom du courrier, pendant l'écriture il recherche des courriers de la base de données. J'ai aussi un élément dropDownListFor où je peux choisir un courrier. Mon problème est que, quand j'ai écrit un nom qui n'existe pas dans ma base de données, je n'ai aucune information à ce sujet. Je voulais cacher le bouton de soumission si le DropDownListFor est vide - le nom de span est incorrect, mais il ne fonctionne pas. Comment puis-je faire ceci?Vérification dans DropDownListFor ASP.NET

J'ai PartialView comme ceci:

div class="col-md-12"> 
<div class="col-md-offset-4 text-center"> 
    <input type="text" oninput="Finder(this, '#CourierId'), check()" class="form-control" value="@Model.CourierName" id="courier-finder" placeholder="Select courier"/> 
    @Html.DropDownListFor(model => model.CourierId, (List<SelectListItem>)ViewBag.Couriers, new { @class = "form-control", onchange = "RefreshInput(this, '#courier-finder')" }) 
    @Html.HiddenFor(model => model.TaskId) 

</div> 

<script> 
function check() { 
    if (document.getElementById("CourierId")== "-1") { 
     $("#buttonDeleteMODALAssign").hide(); 
    } 
} 

+0

Pour masquer une div, vous pouvez également utiliser $ ("# buttonDeleteMODALAssign"). Css ('display', 'None'). –

+0

cela ne fonctionne toujours pas correctement – Arkady

+0

Est-ce que votre check() est appelée? – User3250

Répondre

0

Essayez:

function check() { 
    if ($("#CourierId").val()== "-1") { 
     $("#buttonDeleteMODALAssign").hide(); 
    } 
} 

OU

function check() { 
    if (document.getElementById("CourierId").value== "-1") { 
     document.getElementById("buttonDeleteMODALAssign").style.display = 'none';  
    } 
}