所选jQuery在填充时不显示数据占位符
我正在ASP.NETMVC应用程序中使用jQuery选择的插件。当dropdownlist中包含项目时,所选jQuery在填充时不显示数据占位符,jquery,asp.net-mvc,jquery-chosen,Jquery,Asp.net Mvc,Jquery Chosen,我正在ASP.NETMVC应用程序中使用jQuery选择的插件。当dropdownlist中包含项目时,数据占位符属性不起作用。它不会显示默认文本,而是自动选择列表中的第一项 这就是我定义dropdownlist的方式 @Html.DropDownListFor(m => m.Keep, Model.Data, new { @class = "chzn-select", data_placeholder = "Default..." }) 如果Model.Data为空(在视图
数据占位符
属性不起作用。它不会显示默认文本,而是自动选择列表中的第一项
这就是我定义dropdownlist的方式
@Html.DropDownListFor(m => m.Keep, Model.Data,
new { @class = "chzn-select", data_placeholder = "Default..." })
如果Model.Data为空(在视图模型中使用EF填充),则显示默认文本。否则,将选择第一个项目。我总是希望dropdownlist显示默认值
我通过$('.chzn-select').selected()应用插件代码>没什么特别的
有什么想法吗?提前感谢。您需要先添加一个空选项
根据文件——
注意:在单次选择时,假定第一个图元由浏览器选择。要利用默认的文本支持,您需要在选择列表的第一个元素中包含一个空白选项
也许可以使用jQuery来添加它
$(".chzn-select").prepend("<option></option>");
$(“.chzn-select”).prepend(“”);
因为默认值将替换为列表中的值。因此,要显示默认值,请将该默认值作为第一项添加到列表中。检查列表中的第一个元素和模型是否存在记录绑定
@Html.DropDownListFor(model => model.categoryModel.Id, ViewBag.CategoryList as SelectList, "", new { @class = "chzn_a", data_placeholder = "Choose Category.." })
如果下面的代码对您不起作用,请在选择列表后添加“”
$(".chzn_a").prepend("<option></option>");
$(“.chzn_a”)。前缀(“”);
默认文本支持
Selected通过读取select元素的数据占位符值自动设置默认字段文本(“选择国家…”)。如果不存在数据占位符值,它将默认为“选择一个选项”或“选择一些选项”,具体取决于选择是单个还是多个。您可以在插件js文件中根据需要更改这些元素
注意:在单次选择时,假定第一个元素由浏览器选择。要利用默认文本支持,您需要在选择列表的第一个元素中包含一个空白选项。
请参阅:如果您的代码即使添加了空白的选项
,也不起作用;然后您应该知道,有时浏览器需要新页面来加载代码并生效
因此,请关闭选项卡,打开新选项卡,转到项目页面查看更改 我也有同样的问题,我做了以下几点:
在初始化所选字段时,不能在宽度大小上使用%
$(".chosen").chosen({
'no_results_text' :'Oops, nothing found!',
'width' :'700px',
'search_contains' : true,
'placeholder_text_multiple':'Please choose something ...',
'display_selected_options':false
})) 这可能更适合作为注释而不是答案。如果您使用ASP.Net,您应该首先使用类似剃刀的@SametGunaydin-answered来完成所有操作,而不是在jQuery中执行额外的步骤