So übergeben Sie einen Wert in der Laui-Popup-Ebene

藏色散人
Freigeben: 2020-12-17 10:17:37
Original
7394 Leute haben es durchsucht

Die Implementierungsmethode zum Übergeben von Werten in der Laui-Popup-Ebene: 1. Übergeben Sie den Wert vom Hauptfenster an die Popup-Ebene. 2. Übergeben Sie den Wert von der Popup-Ebene an das Hauptfenster 4. Erhalten Sie durch Aufrufen der Funktion des übergeordneten Fensters einen Wert für das übergeordnete Fenster.

So übergeben Sie einen Wert in der Laui-Popup-Ebene

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Laui-Version 1.0. Diese Methode ist für alle Computermarken geeignet.

Empfohlen: „Javascript-Grundlagen-Tutorial“ „layUI-Tutorial

Besteht hauptsächlich aus zwei Teilen

  • Übergabe von Werten vom Hauptfenster an die Popup-Ebene

  • Übergabe von Werten von der Popup-Ebene an das Hauptfenster

  • Durch Sitzung untereinander übertragen

  • Erhalten Sie den Wert des übergeordneten Fensters, indem Sie die Funktion des übergeordneten Fensters aufrufen (das Gegenteil gilt auch). möglich)

1. Übergeben Sie den Wert aus dem Hauptfenster an die Popup-Ebene.

Zunächst ist die Funktion js

changefileone ein Schaltflächenbindungsereignis. Nachdem auf die Schaltfläche geklickt wurde, wird diese Funktion aufgerufen und die Popup-Ebene erscheint und lädt die Schnittstelle „changefile.html“

Dann lädt der Erfolg die Formulardaten von Changefile im Voraus (übergeben Sie den Wert vom Hauptfenster an die Popup-Ebene)

//bootstraptable的修改,点击按钮的时候自动选中该行,因此可以获取到整行的值
function changefileone() {
    var rowselect = $("#menuTable").bootstrapTable('getSelections');   //取得当前选定的selectItem对象,其中包括整行值
    console.log(rowselect);
    layer.open({
        title: "修改文件属性",
        type: 2,
        content: "changefile.html",
        area: ['50%', '70%'],
        skin: "layui-layer-molv",
        btn: ['确定', '关闭'],
        success: function (layero, index) {    //成功获得加载changefile.html时,预先加载,将值从父窗口传到 子窗口
            //// console.log(obj.data.editAble);
            let body = layer.getChildFrame('body', index);
            //console.log(rowselect[0].filename);
            body.find(".filename").val(rowselect[0].filename);   //通过class名进行获取数据
            body.find(".filepath").val(rowselect[0].path);//意思是将rowselect[0].path这个值传递到子窗口的class="filepath"这个的文本框中,(预先加载)
            //body.find(".menuid").val(rowselect[0].previousid);
            layui.form.render();
        },
        yes: function (index, layero) {         //按了弹出层的确定按钮时,这是将在父窗口中获取子窗口form标签里的所有值,并根据name名和值形成键值对json对象
            //console.log(layero);
            ////layer.alert('来到这里了'+index);
            let body = layer.getChildFrame("body", index);
            let data = {};
            body.find("#changefileform").serializeArray().forEach(function (item) {    //获取弹出层写下的数据,input,下拉框啊,之类的表单元素(即changefileform下的所有数据)
                data[item.name] = item.value;   //根据表单元素的name属性来获取数据
            });
            data["fileid"] = rowselect[0].fileid;
            //if (data["previousid"] == "" || data["previousid"] == null)
            //    data["previousid"] = rowselect[0].previousid;
            console.log(data);
            $.post('/api/dofile', data, function (result) {
                if (result == "success") {
                    layer.alert("修改文件属性成功");
                }
                setTimeout(function () {
                    layer.close(index);
                    parent.location.reload();
                }, 600);
            });
            layer.close(index);
            resetSearch();
        }
    });
    
}
Nach dem Login kopieren

Nachdem Sie auf die Schaltfläche geklickt haben, laden Sie sie im Voraus

So übergeben Sie einen Wert in der Laui-Popup-Ebene

und dann wird das Skript verwendet, um die Datenbankdaten in das Dropdown-Feld zu laden.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="/Scripts/jquery/jquery.min.js" type="text/javascript"></script>
    <script src="/Scripts/layer/layer.js" type="text/javascript"></script>
    <script src="/Scripts/layui/layui.all.js" type="text/javascript"></script>
    <link rel="stylesheet" href="/Scripts/layui/css/layui.css" />
    <script type="text/javascript">
        $(document).ready(function () {
            var selectvalue = ""; //定义这个用来存放选择的value
            layui.use(&#39;form&#39;, function () {
                var form = layui.form;
                $.get("/api/choosemenu", function (data) {
                    for (var j in data.rows) {
                        //alert(data.rows[j].Name);
                        $("#menuname").append("<option value=&#39;" + data.rows[j].menuid + "&#39;>" + data.rows[j].Name + "</option>");
                    }
                    form.render();
                    form.on(&#39;select&#39;, function (data) {
                        //alert(data.value);
                        //console.log(data.value);
                        selectvalue = data.value;
                        console.log(selectvalue);
                    });
                })
            })
        })
    </script>
</head>
<body>
    <form class="layui-form" id="changefileform">
        <!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 -->
        <div class="layui-form-item">
            <label class="layui-form-label layui-bg-red layui-center">文件名</label>
            <div class="layui-input-block">
                <input type="text" name="filename" placeholder="请输入" autocomplete="off" class="layui-input filename">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label layui-bg-red layui-center">文件路径</label>
            <div class="layui-input-block">
                <input type="text" name="filepath" placeholder="请输入" autocomplete="off" class="layui-input filepath">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label layui-bg-green layui-center">父目录</label>
            <div class="layui-input-block">
                <select name="previousid" id="menuname" lay-search>
                    <option value="" style="width:50px" class="menuid">请选择父目录</option>
                </select>
            </div>
        </div>
    </form>
</body>
</html>
Nach dem Login kopieren

2 Dann geben Sie die Daten in diese Popup-Ebene ein Zum Starten. Die Daten werden über das Namensattribut abgerufen. Wenn der Controller die Daten dann von js erhält, erhält er dynamisch Daten Das Dropdown-Feld kann durchsucht werden

Meine anderen Blogs ansehenSo übergeben Sie einen Wert in der Laui-Popup-Ebene

3. Wert durch Sitzung übergeben

Sitzung festlegen

sessionStorage.setItem(&#39;roleid&#39;, &#39;hello&#39;);
Nach dem Login kopieren

Sitzung abrufen

var ss=sessionStorage.getItem(&#39;roleid&#39;);
Nach dem Login kopieren

Löschen Den angegebenen Wert in der Sitzung speichern

sessionStorage.removeItem(&#39;roleid&#39;);
Nach dem Login kopieren

Alle löschen

sessionStorage.clear();
Nach dem Login kopieren

4 . Holen Sie sich den Wert des übergeordneten Fensters, indem Sie die Funktion des übergeordneten Fensters aufrufen:

(1) (dies dient zum Abrufen des ausgewählten Werts von Bootstraptable). ) menuTable ist die ID der Tabelle. Der auf diese Weise zurückgegebene Wert ist der JSON-Wert direkt im js des untergeordneten Fensters

function getrowselect() {
    return $.map($(&#39;#menuTable&#39;).bootstrapTable(&#39;getSelections&#39;), function (row) {
        return row//返回数据行
    });
}
Nach dem Login kopieren

Wenn es (1) (2) ist. Wenn das js des untergeordneten Fensters so aufgerufen wird (dies hängt mit (1) (2) zusammen, verstehen Sie es nicht falsch):

function getrowselect() {
    return $.map($(&#39;#text&#39;).val(), function (row) {
        return row//返回数据行
    });}
Nach dem Login kopieren

5. Wenn das untergeordnete Fenster den Wert an das übergeordnete Fenster übergibt:

window.parent.getElementById("text").val();
Nach dem Login kopieren

Untergeordnetes Fenster:

 var rowselect = window.parent.getrowselect();
 console.log(rowselect);//这里可以打印一下获取到值没有
Nach dem Login kopieren

6 Verwenden Sie top.layer.open oder parent.layer.open

Übergeben Sie zu diesem Zeitpunkt

function getrowselect(userdata) {
    console.log(userdata);
    document.getElementById(userdata.inputid).value = userdata.uname;
    var dffff = "id" + userdata.inputid;
    document.getElementById(dffff).value=userdata.uid;
    return;
            }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo übergeben Sie einen Wert in der Laui-Popup-Ebene. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!