我有1个控件如下
<div>
Country<br />
@Html.DropDownListFor(model => model.CountryId, new SelectList(Model.CountriesList, "CountryId", "CountryName"), "Please select one", new { style = "width: 250px;" })
</div>
我正在使用jquery来清空这个字段
$('#CountryId').val('');
$('#CountryId').val('0');
$('#CountryId').text('');
$("#CountryId option[value='0']").val('');
$("input[name='CountryId']").val('');
我尝试了所有精彩的东西来清空dropdownlist的值,但没有一个帮助。
同样重要的一点。 我在我班级的国家/地区使用必填字段验证器。所以可能是问题。
请告诉我如何将下拉列表的值设置为0;
答案 0 :(得分:1)
创建一个如下所示的模型类
public class Country
{
[RegularExpression("([^0]*$)",ErrorMessage="please select country")]
public int? Country_ID { get; set; }
public List<SelectListItem> CountryName{ get; set; }
}
现在在你的控制器动作中写下面的代码......
public ActionResult actionName()
{
Country model = new Country();
var query = (from a in DbContext.Country
select new
{
C_ID = a.ID,
Name = a.Name
}).ToList();
model.CountryName = new SelectList(query, "C_ID", "Name").ToList();
model.CountryName.Insert(0, new SelectListItem { Text = "--Select--", Value = "0" });
return View(model);
}
现在装饰你的视图如下
<%: Html.DropDownListFor(m => m.Country_ID, Model.CountryName, new { id = "drpCountryId", Style = "width:150px;" })%>
<%:Html.ValidationMessageFor(m => m.Country_ID, null, new { @class = "field-validation-message" })%>
我希望这对你有帮助....
答案 1 :(得分:0)
您的选择列表如何?首先它的值是否为0? 试试这个
$("#CountryId option:eq(0)").attr('selected', true)
选中此FIDDLE
选择了下拉列表中第5项的选项
更新代码
对于select,如果未提及该值且仅存在文本,则它将该文本视为值 ..
所以这应该适合你的情况
$("#CountryId").val('Please select one')
答案 2 :(得分:0)
选中此FIDDLE
$("select#CountryId")[0].selectedIndex = 1;
HTML FIDDLE
<select id="priority" name="priority">
<option value="0">0</option>
<option value="">-- Select Priority --</option>
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
答案 3 :(得分:0)
您可以使用以下任何一项来清除所选值/设置要选择的第一个值:
$('#CountryId option').first().prop('selected', true);
或者:
$('#CountryId').find('option').prop('selected',false);
答案 4 :(得分:0)
以下代码将第一个选项“请选择一个”设置为值0
$("#CountryId option:eq(0)").val(0).attr("selected", true);