Перетащите пользовательский интерфейс с помощью меню - PullRequest
0 голосов
/ 01 апреля 2020

Я попытался использовать функцию перетаскивания вместе с пользовательским интерфейсом меню, используя jquery. В этом случае, когда я перетаскиваю div в другом контейнере, мне нужно добавить div с пользовательским интерфейсом меню, это я и сделал. Но это не работает для меня должным образом. Такие вопросы, как скрытие div подменю внутри контейнера, множественный div с тем же интерфейсом, к которому пользователь не может получить доступ, после обновления контейнера перетаскиванием div с подменю не работает. Может кто-нибудь помочь мне в разъяснении ошибок , Спасибо заранее [введите описание изображения

 function insert_del_dragged() {

var OrderAttrib = {};
OrderAttrib.Dashboardid = dashboardid
OrderAttrib.Frameid = frameid
OrderAttrib.Columntype = columntype
OrderAttrib.Columnid = columnid
OrderAttrib.Aggregate = aggregate
OrderAttrib.Param = insertdel
OrderAttrib.Userid = userid

var data = JSON.stringify(OrderAttrib)

$.ajax({
    type: "POST",

    url: "WebService.asmx/idb_frame_column_details",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: JSON.stringify({ Data:data}), //Parameter
    async: true,
    cache: false,
    timeout: 500000,
    success: function (msg) {

        // alert(msg.d);
        framecolumnid = '';

        data = JSON.parse(msg.d)
        framecolumnid = JSON.parse(data)

        if (columnname == 'Dimension') {
            $("#clone" + columnid).replaceWith('<div id = "menu-5' + framecolumnid[0].id + '"><div id="' + framecolumnid[0].id + '" class=draggable_dim name="' + columnname + '" value="' + aggregate + '" type="' + columntype + '"><a>' + columnaliasname + '</a> <ul><li><a>Aggregate</a><ul><li><a>Sum</a></li><li><a>Avg</a></li><li><a>Min</a></li></ul></li><li><a>Chart</a><ul><li><a>Line</a></li><li><a>Bar</a></li><li><a>Scatter</a></li></ul></li><li><a>Number</a><ul><li><a>2</a></li><li><a>3</a></li><li><a>4</a></li></ul></li></ul></div></div>')
            //$("#clone" + columnid).replaceWith(' <div id = "menu-5' + framecolumnid + '"><div id="' + framecolumnid + '" class=draggable3  name="' + columnname + '" value="' + columnvalue + '"  ><a>' + columnaliasname + '</a> <ul><li><a>Aggregate</a><ul><li><a>Sum</a></li><li><a>Avg</a></li><li><a>Min</a></li></ul></li><li><a>Chart</a><ul><li><a>Line</a></li><li><a>Bar</a></li><li><a>Scatter</a></li></ul></li><li><a>Number</a><ul><li><a>2</a></li><li><a>3</a></li><li><a>4</a></li></ul></li></ul></div></div>')

        }
        else {
            $("#clone" + columnid).replaceWith('<div id = "menu-5' + framecolumnid[0].id + '"><div id="' + framecolumnid[0].id + '" class=draggable_msr name="' + columnname + '" value="' + aggregate + '" type="' + columntype + '"><a>' + columnaliasname + '</a> <ul><li><a>Aggregate</a><ul><li><a>Sum</a></li><li><a>Avg</a></li><li><a>Min</a></li></ul></li><li><a>Chart</a><ul><li><a>Line</a></li><li><a>Bar</a></li><li><a>Scatter</a></li></ul></li><li><a>Number</a><ul><li><a>2</a></li><li><a>3</a></li><li><a>4</a></li></ul></li></ul></div></div>')

        }

        drag();
        test(framecolumnid[0].id);

       loadframedetails(columndata, rowdata, sizedata, tooltipdata, labeldata, charttype)
    }
    //error: function (jqXHR, textStatus, errorThrown) {
    //    console.log("error " + textStatus);
    //    console.log("incoming Text " + jqXHR.responseText);
    //    if (textStatus == 'timeout') {
    //        alert('Failed from timeout');
    //        //Showstate()
    //    }
    //    else {
    //        var err = jqXHR.responseText
    //        var n = err.indexOf(",");
    //        var m = err.indexOf(":");
    //        alert(err.substring(m, n))
    //    }

    //}
});

}

function test(framecolumnid) {
var framecolumnid = framecolumnid

    $('#menu-5' + framecolumnid).menu(

        {
            //position: { my: "left top", at: "right bottom" },
            //position: { my: "right top", at: "right-10 top+5" },
            //submenu: "ui-icon-circle-triangle-e",


            position: { my: "left top", at: "right bottom" },


        }
        );}

после обновления, элемент, помещенный в контейнер, не может быть просмотрен как удаленный с меню (при этом меню класса работает неправильно )

if (col_type == 'column') {

                    if (col_name == 'Dimension') {

                        column_content += '<div id="' + id + '" class="draggable_dim" name="' + col_name + '" value="' + col_aggregate + '" type="' + col_type + '"   >' + col_aliasname + '</div>'
                        columndata.push(col_aliasname);
                    }
                    else {
                      //  $("#clone" + columnid).replaceWith('<div id = "menu-5' + framecolumnid[0].id + '"><div id="' + framecolumnid[0].id + '" class=draggable_msr name="' + columnname + '" value="' + aggregate + '" type="' + columntype + '"><a>' + columnaliasname + '</a> <ul><li><a>Aggregate</a><ul><li><a>Sum</a></li><li><a>Avg</a></li><li><a>Min</a></li></ul></li><li><a>Chart</a><ul><li><a>Line</a></li><li><a>Bar</a></li><li><a>Scatter</a></li></ul></li><li><a>Number</a><ul><li><a>2</a></li><li><a>3</a></li><li><a>4</a></li></ul></li></ul></div></div>')

                        column_content += '<div id = "menu-5' + id + '"><div id="' + id + '" class="draggable_msr" name="' + col_name + '" value="' + col_aggregate + '" type="' + col_type + '"  ><a>' + col_aliasname + '</a> <ul><li><a>Aggregate</a><ul><li><a>Sum</a></li><li><a>Avg</a></li><li><a>Min</a></li></ul></li><li><a>Chart</a><ul><li><a>Line</a></li><li><a>Bar</a></li><li><a>Scatter</a></li></ul></li><li><a>Number</a><ul><li><a>2</a></li><li><a>3</a></li><li><a>4</a></li></ul></li></ul></div></div>'
                        test(id);
                        columndata.push(col_aliasname);

                    }

используется ссылка

 <link href = "https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
     rel = "stylesheet">

  <script src = "https://code.jquery.com/jquery-1.10.2.js"></script>
  <script src = "https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...