使用jquery中的.keypress事件检测输入按钮

时间:2012-07-13 14:49:34

标签: jquery asp.net listbox keypress multi-select

我有一个web应用程序,我在页面加载时使用数据库中的项目填充multiselectlistbox。

我从列表框中选择了所有项目,但它们按照填充顺序排列。

我希望这些项目符合用户选择的顺序。

所以对于这个问题我在列表框上找到了使用客户端.click()事件的解决方案,因为我检测到了selcted项并将其值保存在hiddenfield中。这也很有用,但问题出现了当用户按下输入密钥输入鼠标时单击以选择项目。此时它不会触发.click()事件,所以我已经使用过了 onkeypress()onkeyup()但它根本不会发射

这是我的代码:

<script type="text/javascript">
    $(document).ready(function() {
        $(".chzn-results .active-result").click(function(event) {                                  
            var hdfld = document.getElementById("hdn_menuitems");
            if (hdfld.value == "") {
                hdfld.value = $(this).index();
            }
            else {
                hdfld.value = hdfld.value + "," + $(this).index();
            }                              
        });
        $(".chzn-results .active-result").keydown(function(event) {
            $(".chzn-results .active-result").keyup(function(event) {                               
                alert("Event");
                if(event.keyCode==13)
                {        
                    var hdfld = document.getElementById("hdn_menuitems");
                    if (hdfld.value == "") {
                        hdfld.value = $(this).index();
                    }
                    else {
                        hdfld.value = hdfld.value + "," + $(this).index();
                    }                        
                }
            });
        });    
</script>

这是我的列表框:

<asp:ListBox ID="dr_menuitem" runat="server" class="chzn-select" style="width:575px;" SelectionMode="Multiple" >
    <asp:ListItem></asp:ListItem>
</asp:Listbox>

我使用[http://harvesthq.github.com/chosen/] [1]

使用了列表框

1 个答案:

答案 0 :(得分:0)

这样做: -

$('.chzn-results .active-result').keydown(function(e) {
    if (e.keyCode == 13)
    {
        var hdfld = $('#hdn_menuitems');
        if (hdfld.value == "")
            $(hdfld).val($(this).index());
        else
            $(hdfld).val(hdfld.value + "," + $(this).index());
    }
});​
相关问题