内联:编辑控件(日期选择器,自动完成,下拉菜单,复选框,自定义等)

<!DOCTYPE html>

<html lang="en">
<head>
    <!-- The jQuery library is a prerequisite for all jqSuite products -->
    < script type="text/ecmascript" src="js/jquery.min.js" ></script>
    <!-- We support more than 40 localizations -->
    < script type="text/ecmascript" src="js/i18n/grid.locale-en.js" ></script>
    <!-- This is the Javascript file of jqGrid -->
    < script type="text/ecmascript" src="js/jquery.jqGrid.js" ></script>
    <!-- A link to a Boostrap  and jqGrid Bootstrap CSS siles-->
    < link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" >
    <link rel="stylesheet" type="text/css" media="screen" href= "css/ui.jqgrid-bootstrap.css" />
    <script >
        $ .jgrid. defaults.width = 780;
        $ .jgrid. defaults.responsive = true;
        $ .jgrid. defaults.styleUI = 'Bootstrap';
    </script >

    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" ></script>

    <script type="text/ecmascript" src=" js/bootstrap-datepicker.js" ></script>
    <script type="text/ecmascript" src=" js/bootstrap3-typeahead.js" ></script>
    <link rel="stylesheet" type="text/css" media="screen" href= "css/bootstrap-datepicker.css" />
    <meta charset="utf-8" />
    <title >jqGrid Loading Data - Dialogs - Edit Controls</ title>
</head >
<body>

<style type="text/css">
    .customelement .radio-inline input {
        margin-left :-30px ;
    }
    .typeahead {
        z-index : 10051;
    }
</style >
<div style=" margin-left:20 px">
    <table id="jqGrid"></ table>
    <div id="jqGridPager"></div >

</div>
<script type="text/javascript">

    $ (document). ready(function () {


        $ ("#jqGrid"). jqGrid({
            url : 'ajax.php',
            editurl : 'clientArray',
            mtype : "GET",
            datatype : "json",
            page : 1,
            colModel : [
                { label: 'Order ID', name : 'OrderID', key: true , width: 75 },
                {
                    label: 'Order Date',
                    name: 'OrderDate',
                    width: 150,
                    editable: true,
                    edittype: "text",
                    editoptions: {
                        // dataInit is the client-side event that fires upon initializing the toolbar search field for a column
                        // use it to place a third party control to customize the toolbar
                        dataInit: function (element) {
                            $(element ).datepicker({
                                autoclose: true ,
                                format: 'yyyy-mm-dd' ,
                                orientation : 'bottom'
                            });
                        }
                    }
                },
                {
                    label: 'Customer ID',
                    name: 'CustomerID',
                    width: 150,
                    editable: true,
                    edittype: "select",
                    editoptions: {
                        value: "ALFKI:ALFKI;ANATR:ANATR;ANTON:ANTON;AROUT:AROUT;BERGS:BERGS;BLAUS:BLAUS;BLONP:BLONP;BOLID:BOLID;BONAP:BONAP;BOTTM:BOTTM;BSBEV:BSBEV;CACTU:CACTU;CENTC:CENTC;CHOPS:CHOPS;COMMI:COMMI;CONSH:CONSH;DRACD:DRACD;DUMON:DUMON;EASTC:EASTC;ERNSH:ERNSH;FAMIA:FAMIA;FISSA:FISSA;FOLIG:FOLIG;FOLKO:FOLKO;FRANK:FRANK;FRANR:FRANR;FRANS:FRANS;FURIB:FURIB;GALED:GALED;GODOS:GODOS;GOURL:GOURL;GREAL:GREAL;GROSR:GROSR;HANAR:HANAR;HILAA:HILAA;HUNGC:HUNGC;HUNGO:HUNGO;ISLAT:ISLAT;KOENE:KOENE;LACOR:LACOR;LAMAI:LAMAI;LAUGB:LAUGB;LAZYK:LAZYK;LEHMS:LEHMS;LETSS:LETSS;LILAS:LILAS;LINOD:LINOD;LONEP:LONEP;MAGAA:MAGAA;MAISD:MAISD;MEREP:MEREP;MORGK:MORGK;NORTS:NORTS;OCEAN:OCEAN;OLDWO:OLDWO;OTTIK:OTTIK;PARIS:PARIS;PERIC:PERIC;PICCO:PICCO;PRINI:PRINI;QUEDE:QUEDE;QUEEN:QUEEN;QUICK:QUICK;RANCH:RANCH;RATTC:RATTC;REGGC:REGGC;RICAR:RICAR;RICSU:RICSU;ROMEY:ROMEY;SANTG:SANTG;SAVEA:SAVEA;SEVES:SEVES;SIMOB:SIMOB;SPECD:SPECD;SPLIR:SPLIR;SUPRD:SUPRD;THEBI:THEBI;THECR:THECR;TOMSP:TOMSP;TORTU:TORTU;TRADH:TRADH;TRAIH:TRAIH;VAFFE:VAFFE;VICTE:VICTE;VINET:VINET;WANDK:WANDK;WARTH:WARTH;WELLI:WELLI;WHITC:WHITC;WILMK:WILMK;WOLZA:WOLZA"
                    }
                },
                {
                    label: 'Freigh',
                    name: 'Freight',
                    width: 150,
                    editable: true,
                    edittype: "custom",
                    editoptions: {
                        custom_value: getFreightElementValue ,
                        custom_element: createFreightEditElement
                    }
                },
                {
                    label: 'Ship Name',
                    name: 'ShipName',
                    width: 150,
                    editable: true,
                    edittype: "text",
                    editoptions: {
                        // dataInit is the client-side event that fires upon initializing the toolbar search field for a column
                        // use it to place a third party control to customize the toolbar
                        dataInit: function (element) {
                            $(element ).attr( "autocomplete" ,"off"). typeahead({
                                appendTo : "body" ,
                                source: function (query, proxy) {
                                    $.ajax ({
                                        url: 'ajax.php' ,
                                        dataType: "jsonp" ,
                                        data: {term : query},
                                        success : proxy
                                    });
                                }
                            });
                        }
                    }
                }
            ],
            loadonce : true,
            viewrecords : true,
            height : 250,
            rowNum : 10,
            pager : "#jqGridPager"
        });

        $ ("#jqGrid"). navGrid("#jqGridPager" ,
                { edit: true, add : false, del: false , search: false, refresh : true, view: false , align: "left" },
                { closeAfterEdit: true, focusField : 1 }
        );

        function createFreightEditElement (value, editOptions) {

            var div =$ ("<div style='margin-bottom:5px;margin-top:-10px;'></div>" );
            var label = $ ("<label class='radio-inline'></label>");
            var radio = $ ("<input>", { type : "radio", value: "0" , name: "freight", id : "zero", checked: (value != 25 && value != 50 && value != 100) });
            label .append( radio).append ("0");
            var label1 = $ ("<label class='radio-inline'></label>");
            var radio1 = $ ("<input>", { type : "radio", value: "25" , name: "freight", id : "twentyfive", checked: value == 25 });
            label1 .append( radio1).append ("25");
            var label2 = $ ("<label class='radio-inline'></label>");
            var radio2 = $ ("<input>", { type : "radio", value: "50" , name: "freight", id : "fifty", checked: value == 50 });
            label2 .append( radio2).append ("50");
            var label3 = $ ("<label class='radio-inline'></label>");
            var radio3 = $ ("<input>", { type : "radio", value: "100" , name: "freight", id : "hundred", checked: value == 100 });
            label3 .append( radio3).append ("100");
            div .append( label).append (label1). append(label2 ).append( label3);
            return div;
        }

        // The javascript executed specified by JQGridColumn.EditTypeCustomGetValue when EditType = EditType.Custom
        // One parameter passed - the custom element created in JQGridColumn.EditTypeCustomCreateElement
        function getFreightElementValue(elem , oper, value) {
            if (oper === "set") {
                var radioButton = $( elem).find ("input:radio[value='" + value + "']");
                if ( radioButton.length > 0) {
                    radioButton. prop("checked" , true);
                }
            }
            if (oper === "get") {
                return $ (elem). find("input:radio:checked" ).val();
            }
        }

    });

</script >


</body >
</html >

results matching ""

    No results matching ""