首页 > 解决方案 > 如何让 jquery 脚本“选择”在 asp.net 中工作

问题描述

我有这个代码:

<script type="text/javascript" src="../Scripts/chosen.min.js" ></script>

[...]

<asp:ListBox class="chosen-select" ID="lbCategory" runat="server" AutoPostBack="true" DataSourceID="SqlDataSourceDropDownListCategory" 
SelectionMode="Multiple" Width="200px" DataTextField="Name" DataValueField="IdCategory"></asp:ListBox>

<script>
    $(".chosen-select").chosen();
</script>

我在我写的路径中有js,脚本不起作用,我试图搜索,但我发现的一切都没有解决它,请有人帮忙。

标签: javascriptasp.netjquery-chosen

解决方案


我认为的问题。

  1. 文件中没有chosen.min.js。有chosen.jquery.min.js和其他一些。
  2. 如果您使用所选插件,则该AutoPostBack="true"插件将不起作用,因为该插件重新设计了原来的控制女巫现在是隐藏的。此外SelectionMode="Multiple",如果自动回发在您要回发的每次点击中起作用,那么这不是网络的最佳体验。
  3. 您不包括jQuery library选择的工作需要。
  4. 喜欢CssClass和不喜欢class。两者都有效,但对于 asp.net 控件,这CssClass是避免错误的正确方法。

如何找到错误。通过右键单击页面打开浏览器调试工具,在打开的菜单上选择Inspect然后打开Console,看看你有什么错误并从那里获取。

参考

选择的文档
选择的下载

工作示例

我创建了一个最小的示例并对其进行测试并可以正常工作。

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script type="text/javascript" src="/js/jQuery/Chosen/chosen.jquery.js " ></script>
<link rel="stylesheet" href="/js/jQuery/Chosen/chosen.css" />               

<asp:ListBox ID="lstCategoryType" runat="server" CssClass="chosen-select"  SelectionMode="Multiple" Width="200px">
    <asp:ListItem Text="Option 1" Value="1"></asp:ListItem>
    <asp:ListItem Text="Option 2" Value="2"></asp:ListItem>
    <asp:ListItem Text="Option 3" Value="3"></asp:ListItem>
    <asp:ListItem Text="Option 4" Value="4"></asp:ListItem>
</asp:ListBox>

<script>
    jQuery(document).ready(function(){
        jQuery(".chosen-select").chosen();    
    });
</script>

推荐阅读