我已经在javascript中使用了搜索下拉列表。如果页面自动回发,则搜索下拉列表变为普通下拉列表
<link href="Styles/chosen.css" rel="stylesheet" />
<script src="Scripts/jquery.min.js" type="text/javascript"></script>
<script src="Scripts/chosen.jquery.js" type="text/javascript"></script>
<asp:DropDownList ID="ddl_patientname" runat="server" class="chzn-select dropdown" OnSelectedIndexChanged="ddl_patientname_SelectedIndexChanged1">
</asp:DropDownList>
<script>
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
</script>
最佳答案
如果可以的话,请将DropDownList放在更新的面板之外。
您可以在更新面板中添加下拉列表触发器,例如:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl_patientname" EventName="SelectedIndexChanged" />
</Triggers>
如果没有,则可以使用类似以下代码的代码:
function populateChosonDdl()
{
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
}
$(document).ready(function () {
populateChosonDdl();
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm) {
prm.add_endRequest(function () {
populateChosonDdl();
});
}
这应该使下拉列表上的自定义保持完整。