0

jquery UI ダイアログウィジェットでjtableを使いたいです。次のように、ダイアログウィジェットのコンテンツを動的にロードしています

    $( "#dialog4" ).dialog({
        autoOpen: false,
        height:$(window).height() - 50,
        width:$(window).width() - 50,
            show: {
            effect: "blind",
            duration: 400,
            },

            hide: {
            effect: "explode",
            duration: 400
            },
            
            open: function (){
                
                $(this).load("managegroupmembers.jsp");

            }
    });

私の jtable コードは managegroupmembers.jsp にあります。それは次のとおりです。

<script>
$(function() {
    
    $('groupmembers')
            .jtable(
                    {
                        title : 'Members in Group',
                        jqueryuiTheme : true,
                        selecting : true, //Enable selecting
                        multiselect : true, //Allow multiple selecting
                        selectingCheckboxes : true,
                        paging : true,
                        pageSize : 20,
                        pageSizes : [ 20, 50, 75, 100, 200, 500 ],
                        defaultSorting : 'fullName ASC',
                        sorting : true,
                        actions : {
                            listAction : 'group'
                        },
                        fields : {
                            groupID : {
                                key : true,
                                list : false
                            },
                            memberID : {
                                key : true,
                                list : false
                            },

                            fullName : {
                                create : false,
                                edit : false,
                                title : 'Name',
                                width : '15%'
                            },
                            memberRole : {
                                title : 'Role in Group',
                                width : '7%',
                                display : function(data) {
                                    var roleName = "";
                                    if (data.record.memberRole != null) {
                                        roleName = data.record.memberRole.roleName;
                                    }
                                    return roleName;
                                }

                            },
                            memberSince : {
                                list : true,
                                title : 'Member Since',
                                inputClass : 'text  ui-widget-content ui-corner-all inputClass'
                            }
                        }

                    });
    
    $('#groupmembers').jtable('load');
    
    
});
</script>


 <div id="groupmembers" class="ui-widget"></div>

Chrome の開発者ツールを使用してコードをデバッグしようとしましたが、次のエラーが表示されます:「初期化前に jtable でメソッドを呼び出せません。メソッド 'load' を呼び出そうとしました」前もって感謝します。

4

1 に答える 1

2

初期化コードで groupmembers ID の前にある # を忘れたため、jTable を初期化していません....

$('groupmembers')

次のようにする必要があります。

$('#groupmembers')
于 2013-08-15T19:08:36.317 に答える