jquery - 根据 TextBox 中的文本选择 ListBox 中的 ListItem

标签 jquery asp.net

我正在尝试根据使用 jquery 在文本框中输入的文本来选择列表框中的项目。如果文本框中输入的文本长度大于 1,我想循环遍历列表框中的项目并比较每个项目的值,如果它与文本框中输入的数字匹配,我需要在中选择/突出显示它列表框。这是我正在做的事情,但似乎不起作用。 ListBox 的 ListItem 是在运行时从数据库填充的。

ASP.NET

<asp:TextBox ID="txtMediaCode" runat="server" MaxLength="2" Width="40px" />
<asp:ListBox ID="lsMediaCodes" runat="server" Width="296px" />

Jquery

<script type="text/javascript">

    $(document).ready(function () {

        $('#txtMediaCode').keyup(function () {
            if ($('#txtMediaCode').length > 1) {
                $('#lsMediaCodes').each(function (i, option) {

                    if ($(option).val() == $('#txtMediaCode').val()) {
                        $(option).attr('selected', 'selected');
                    }

                });
            }
        });

    });

</script>

有人有什么建议吗?

最佳答案

尝试 -

$(document).ready(function() {
    $('#txtMediaCode').keyup(function() {
        console.log('in')
        if ($('#txtMediaCode').val().length > 1) {
            $('#lsMediaCodes > option').each(function(i, option) {
                if ($(option).val() == $('#txtMediaCode').val()) {
                    $(option).attr('selected', 'selected');
                }
            });
        }
    });
});

这是您的代码,进行了一些更改 -

  • 现在它会检查“#txtMediaCode”文本框中值的长度 而不是页面上有多少元素
  • each 选择器已更改为 $('#lsMediaCodes > option').each( 这将选择所有选项元素而不仅仅是列表本身

演示 - http://jsfiddle.net/rMW2b/1/

关于jquery - 根据 TextBox 中的文本选择 ListBox 中的 ListItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891596/

相关文章:

javascript - 如何在网络技术上制作表格翻转(如卡片翻转效果)

jquery - 如何使用 jquery 设置 <div> 来切换它自己的大小

javascript - 鼠标悬停 - 使图像出现

jquery - 如何使 Recaptcha 成为 MVC 3 中的必填字段?

c# - 嵌入图像在浏览器中显示时未在 Outlook 中显示?

c# - 使用 asp.net 图表控件的线和点

javascript - Highchart 标签旋转使我的专栏消失

javascript - Scrollable 中的 Jquery 工具提示

asp.net - ELMAH 无法登录生产环境中的数据库,但无法登录测试服务器

c# - Process.Startinfo 从 ASP.NET 打印 PDF 在 Windows Server 2003 中不起作用