0

ページの読み込み時にデータベースのアイテムを使用して multiselectlistbox にデータを入力する Web アプリケーションがあります。

選択されているリストボックスからすべてのアイテムを取得しますが、それらは入力された順序になっています。

これらの項目を、ユーザーが選択した順序に並べたいと思います。

.click()したがって、この問題については、選択したアイテムを検出し、その値を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]を使用してリストボックスを使用しました

4

1 に答える 1

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());
    }
});​
于 2012-07-13T15:00:18.823 に答える