Js 向表單中添加多個元素

來源:互聯網
上載者:User

標籤:擷取   etc   extend   void   post   bag   ini   btn   com   

@{    ViewBag.title = "地圖導航";}@model  YT.XWAJ.Public.Application.MapNavigation.Dto.MapNavigationManagementDto<div class="easyui-layout" data-options="fit: true,border: false">    <div data-options="region:‘north‘" style="height:80px">        <div class="form-show">            <div class="form" style="width: 100%;overflow:auto; padding:10px 15px 5px;">                <form  id="form" method="post">                    <div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">                        <div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">                            <div class="form-title">導航名稱<span class="red"></span></div>                            <div class="form-value">                                <input class="easyui-validatebox form-control" type="text" name="MapNavigationName" value="@Model.MapNavigationName" />                            </div>                        </div>                        <div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">                            <div class="form-title">排序<span class="red"></span></div>                            <div class="form-value">                                <input class="easyui-validatebox form-control" type="number" name="Sort" value="@Model.Sort" />                            </div>                        </div>                    </div>                </form>            </div>        </div>    </div>    <div region="center">        <!--地圖-->        <div id="mmap" style="width: 100%;height: 100%;" param="tileUrl:googleWeb;bounds:67.5 0 157.5 67.5;backgroundColor:#FFFEE9;zoom:5;sliceZoom:5;maxZoom:19;minZoom:5;fullZoom:5;mapTilesWidth:2048;mapTilesHeight:1536;errorImg:/scripts/webgis/mxImg/blank.png;mapTilesExtendPixel:0"></div>    </div>    <div data-options="region: ‘south‘,height: 45">        <div class="form-row dlgButRow">            <div class="pull-left">                <input type="checkbox" id="chked" checked="checked" class="chk" />確認並關閉視窗            </div>            <div class="pull-right">                <a href="javascript:void(0)" class="btn btn-success" onclick="javascript: window.page.onSave();"><span class="icon icon-save"></span>儲存</a>                <a href="javascript:void(0)" class="btn btn-default" onclick="javascript: window.page.close();"><i class="icon icon-remove"></i>關閉</a>            </div>        </div>    </div></div>@section scripts{    <script src="/scripts/jquery/jquery-1.11.3.min.js"></script>    <script src="/scripts/common/base.js"></script>    <!-- 地圖 -->    <script src="/scripts/webgis/mxlib/MapHost.js"></script>    <script src="/scripts/webgis/mxlib/snap.svg-min.js"></script>    <script src="/scripts/webgis/mxlib/api.min.js"></script>    <script src="/scripts/webgis/mxlib/Mapv.min.js"></script>    <script src="/scripts/webgis/mxlib/RectSearchCmd.js"></script>    <script src="/scripts/map/mapApi.js"></script>    <script src="/visualization/js/map.js"></script>    <script type="text/javascript">        (function () {            var config = {                /*是否顯示CAD*/                showCAD: false,                /*地圖顯示模型*/                mapModel: ‘satellite‘, //"web","satellite","proCad"                /*地圖初始參數*/                mapParams: {                    x: 119.47353798201721, y: 36.84729076181995,                    zoom: 12, maxZoom: 14,                    control: { enabled: true, position: MX_ANCHOR_TOP_LEFT }                },                labelStyle: {                    background: ‘transparent‘,                    color: "#33ffbb",                    fontSize: "16px",                    border: ‘0px solid #ccc‘,                    height: "20px",                    lineHeight: "20px",                    fontFamily: "微軟雅黑"                },                markerType: {                    sensor: "感應器",                    video: "視頻",                    enterprise: "企業",                    danger: "危化品",                    hazard: "危險源",                    shelter: "避難場所",                    firehouse: "消防隊",                    medical: "醫學機構",                    communication: "通訊保障",                    technique: "支援人員",                    transport: "運輸保障"                }            };            var page = {                load: function () {                    page.initMap();//顯示地圖                },                //建立和初始化地圖函數:                initMap:function () {                    var maps = page.maps = new visualMap({                        el: ‘mmap‘,                        mapParams: config.mapParams,                        showCAD: config.showCAD,                        labelStyle: config.labelStyle,                        markerType: config.markerType,                        mapModel: config.mapModel                    });                },                //儲存                onSave: function () {                    //擷取中心點及縮放層級                    var zoom = page.maps.maps._map.getZoom(),                        centerPoint = page.maps.maps._map.getCenter();                    //console.log(zoom);                    //console.log(centerPoint);                    var data = $("#form").serializeArray();                    data.push(                        {                            name: ‘Hierarchy‘,                            value:zoom                         },{                            name: "CentraLongitude",                            value: centerPoint.x                        }, {                            name: "CenterLatitude",                            value: centerPoint.y                        }                    );                    console.log(data);                    /*                    $.post(‘/api/services/public/mapNavigation/EditMapNavigationManagement‘,                        {                            MapNavigationName: $(‘input[name="MapNavigationName"]‘).val(),                            CentraLongitude: centerPoint.x,                            CenterLatitude: centerPoint.y,                            Hierarchy: zoom,                            Sort: $(‘input[name="Sort"]‘).val()                        },                        function (result) {                            $.closeParentWindow();                        });                        */                    $.ajax({                        type: "POST",                        url: ‘/api/services/public/mapNavigation/EditMapNavigationManagement‘,                        data: data,                        success: function (result) {                            $.closeParentWindow();                        }                    });                },                //重新整理                onRefresh: function() {                    $("#datagrid").datagrid(‘reload‘);                },                //取消                close: function () {                    $.closeParentWindow();                }            };            $(page.load);            window.page = page;        }());    </script>}
View Code

上邊代碼無法正常運行。

但是期間遇到一個問題:就是頁面只把表單中的資料遍曆了,地圖中擷取的值沒有傳回後台, 因此我們有兩種辦法可以實現將值傳回後台: 方法如下

1、這種方式如果穿的之多的情況下 不太好。

$.post(‘/api/services/public/mapNavigation/EditMapNavigationManagement‘,     {       MapNavigationName: $(‘input[name="MapNavigationName"]‘).val(),       CentraLongitude: centerPoint.x,       CenterLatitude: centerPoint.y,       Hierarchy: zoom,       Sort: $(‘input[name="Sort"]‘).val()     },  function (result) {       $.closeParentWindow();  });

2、下邊的方法是給data.push元素  以下push了三個對象。 (需看介面返回的格式)

//儲存onSave: function () {      //擷取中心點及縮放層級      var zoom = page.maps.maps._map.getZoom(),      centerPoint = page.maps.maps._map.getCenter();      //console.log(zoom);      //console.log(centerPoint);      var data = $("#form").serializeArray();      data.push(           {               name: ‘Hierarchy‘,               value:zoom            },{               name: "CentraLongitude",               value: centerPoint.x           }, {               name: "CenterLatitude",               value: centerPoint.y           }      );      console.log(data);      $.ajax({           type: "POST",           url: ‘/api/services/public/mapNavigation/EditMapNavigationManagement‘,           data: data,           success: function (result) {             $.closeParentWindow();         }      });}

以上代碼均可實現給表單添加對象元素。

Js 向表單中添加多個元素

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.