这是我的DropDownList字段 -
@Html.DropDownListFor(m => m.TypeId, (IEnumerable<SelectListItem>)ViewData["Types"], "--Choose One--", htmlAttributes: new { @class = "form-control" })
如何确保在未选择任何内容时显示optionLabel:--Choose One--
,并在列表显示时消失,主要用作占位符?
修改1
我基本上不希望标签参与jQuery验证,因此需要在显示时将其删除。这是jQuery片段 -
rules: {
TypeId: {
required: true
}
}
但仍然--Choose One--
被视为有效值并被标记为成功 -
这是为下拉列表生成的html -
<select class="form-control" data-val="true" data-val-number="The field TypeId must be a number." data-val-required="The TypeId field is required." id="TypeId" name="TypeId">
<option value="">--Choose One--</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
答案 0 :(得分:0)
<script>
var id=document.getElementById("TypeId").value;
if(id=="")
{
//your code
return false
}
</script>
如果用户选择注意,那么您可以使用此验证,然后您的页面将不会提交
答案 1 :(得分:0)
这是fiddle
$('#typeId').on('change',function(){
if($(this).children('option[value=""]').length){
$(this).children('option[value=""]').remove()
}
});
它将从选择的内容中删除选项标签