`

jquery中在一个页面中弹出编辑对话框的实例

阅读更多

在web开发中,一个页面的某些字段可能需要通过弹出浮出对话框的形式完成,这就要用到弹出框和其依赖的父类窗口的控制句柄,只有利用这个句柄才能操作对应页面的字段值的修改,当然具体的业务场景需要中的页面来源的数据需要从数据库中获取,并且带有更有的处理判断逻辑,这里只是给一个简单的弹出对话框,并且用jquery对页面元素对值进行回写。

 

主要用到的插件是:

 <script type="text/javascript" src="lhgdialog.min.js?self=true&skin=default"></script>

 

弹窗的父页面 :

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

<script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="lhgdialog.min.js
?self=true&skin=default"></script>
 <link rel="stylesheet" type="text/css" href="style.css"/>

</head>

<body>
                      <div class="consolestick">
                <div class="stickname"><strong>名称</strong><span style="color:red; font-weight:600;">*</span>
				</div>
                <div class="stickdetail">
                <div class="nomalinput33">
                <input class="noborderinput33" id="riskNameId" type="text" maxlength="10" value="爆炸物相关书籍" readonly />
				</div>
                </div>
                </div>
				
                <div class="consolestick">
				<div class="stickname"><strong>父节点<span style="color:red; font-weight:600;">*</span>[<a href="#" onclick="editPath()">编辑</a>]</strong>
				 </div>
                 <div class="stickdetail">
                 <div class="nomalinput22">
			        <input class="noborderinput22"  id="parentPathId"  type="text" maxlength="900" value="禁售商品>易燃易爆类>其他涉爆商品" readonly/>
			   	 </div>
                 </div>
                 </div>
   
</body>



<script type="text/javascript">

 var riskId="123";

    function editPath(){         //从父类窗口中弹出编辑路径对话框

        var dialog = $ .dialog({

            title:'编辑风险路径',
            data
:riskId,
            content:'url:casepathmodify11.html',

            lock:true,
            width:700,
            height:200,
            resize:true
        });
    }

</script>
</html>

 弹窗页面的html:

 

casepathmodify11.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        var api = frameElement.api, W = api.opener;
  //父子窗口的句柄,可以通过他们操作对应页面的标签和属性值,类似jquery选择器

        var riskId = api.data
;        // 得到riskId,通过这种方式得到父类窗口中穿过来的post参数值

        window.onload = function () {
            $('#riskName').val(W.
$('#riskNameId').val());
            var pathArray = W.$('#parentPathId').val().split(">");
            for (var i = 0; i <pathArray.length; i++) {
			   var j=i+1;
			   var selectedText=pathArray[i];
              $("#"+j+"Catalog option
").each
(function(){
			     var optionText=$(this)
.text().trim();   // this指的是前面的option标签选择器

				 if(optionText==selectedText){
				   $(this).attr("selected",true);
   //遍历对选菜单属性值,一个多选菜单中的某一个option属性为selected

				 }
			  });
            }
        };

        api.button({
            id:'valueOk',
            name:'确定',
            callback:ok
      //执行确定操作后的回调函数

        });
        api.button({
            id:'valueCancel',
            name:'取消'
        });
        /* 函数ok即为上面添加按钮方法中callback回调函数调用的函数 */

        function ok()
        {
           
                W.$('#riskNameId').val($('#riskName').val());
                var newPath="";
                for(var i=1;i<=4;i++){
                    var elem = $("#"+i+"Catalog").find("option:selected").text().trim();
                    if(elem=="") {
					alert("不能选项中不能有空选!");
					return;
					}
                    newPath+=elem+">";
                }
                W.$('#parentPathId').val(newPath.substring(newPath,newPath.length-1));
            alert("修改成功!");
            return true;

        };
    </script>

    <style type="text/css">
        td {
            padding: 6px;
            height: 10px;
        }

        .selects {
            margin-left: 2px;
            width: 120px;
            height: 25px;
        }

        .titles {
            text-align: right;
            height: 25px;
            font-size: 14px;
        }

        input {
            height: 22px;
            font-size: 13px;
        }
    </style>

</head>
<body>
<table>
    <tr>
        <td class="titles">名称</td>
        <td>
            <input name="riskName" id="riskName" maxlength="16">
        </td>
    </tr>
    <tr>
        <td class="titles">类型</td>
        <td>
            <select class="selects" id="1Catalog" name="1Catalog" >
                <option value=""></option>
				<option value="cashi1">ceshi1</option>
				<option value="cashi1">ceshi2</option>
				<option value="cashi1">禁售商品</option>		
            </select>
            <select class="selects" id="2Catalog" name="2Catalog" >
                <option value=""></option>
				<option value="cashi1">ceshi1</option>
				<option value="cashi1">ceshi2</option>
				<option value="cashi1">易燃易爆类</option>		
            </select>
            <select class="selects" id="3Catalog" name="3Catalog" >
                <option value=""></option>
				<option value="cashi1">ceshi1</option>
				<option value="cashi1">ceshi2</option>
				<option value="cashi1">其他涉爆商品</option>		
            </select>
            <select class="selects" id="4Catalog" name="4Catalog" >
                <option value=""></option>
				<option value="cashi1">ceshi1</option>
				<option value="cashi1">ceshi2</option>
				<option value="cashi1">其他涉爆商品</option>		
            </select>
        </td>
    </tr>
</table>
<div id="tips"></div>
</body>


</html>
 

   相见具体效果,请参考附件。

分享到:
评论

相关推荐

    jquery dialog css3弹出对话框插件实例

    jquery dialog css3弹出对话框插件实例 jquery dialog css3弹出对话框插件实例

    JQuery 模式对话框实例

    JQuery 模式对话框实例,弹出后父页面为背景.不可操作.

    jquery弹出层 弹出式对话框插件.rar

    与大家再次分享一款jquery弹出层 弹出式对话框插件,用此插件可实现WEB开发中的询问框、确认操作、警告信息、出错信息、信息显示框等,jquery Div CSS JavaScript共同开发实现的,兼容火狐和IE,在Chrome下效果更好...

    jquery 弹出对话框 2个

    jquery 弹出对话框 2个不错的效果,完整实例

    jQuery弹出对话框 demo

    jQuery弹出对话框 demo,简单的实例,希望给大家web开发带来快乐~

    jQuery实现时尚漂亮的弹出式对话框实例

    这是一款十分简洁漂亮的HTML5弹出对话框效果,基于jQuery来实现,引入了jquery1.6.2库。 本效果描述:用鼠标点击一下右上角的小图标,会弹出一个层对话框,里面可以提交留言、评论之类的。 运行效果截图如下: 具体...

    比较不错的jquery提示框:jQuery Modal Dialog弹出对话框.rar

    一个想当漂亮的jquery提示框:jQuery Modal Dialog弹出对话框插件,可用它实现各种的网页提示效果,比如错误提示框、警告框、操作提示框等,暖色调界面,使用方法简单,参考本例所展示的各种提示框生成办法,就可...

    jquery仿div透明模态弹出窗

    本实例使用jquery实现对话框的功能,点击链接即能在另外一层弹出对话框形式,例如登录对话框等……

    jQuery实现单击按钮遮罩弹出对话框效果(1)

    本文实例为大家分享了jQuery实现单击按钮遮罩弹出对话框的具体代码,供大家参考,具体内容如下 看到网上一位大神的代码后,大概进行了注释,调试了一下页面以后感觉不错,留作以后使用。 主要用到了:/jquery-1.10.2...

    asp.net后台弹出层,asp.net后台调用前台JS事件

    ,但是由于不太友好,而且不太美观,后来才想自己做一个,当然了网上也有许多弹出对话框的jquery插件,不过平常使用的时候也没有什么特别复杂的要求,本实例包括一个JS需要在前台引用,和一个自定义类,需要放在App_...

    jQuery+Json 实现Ajax无刷新分类管理实例演示

    基于jquery+json实现的网站后台管理中无刷新的分类管理功能演示,如上图演示所示,可无刷新添加一个分类、在动画弹出的对话框中输入分类名称即可实现保存,同进还可无刷新删除二级分类,删除一级分类,修改分类,...

    弹出框及数据验证处理实例源码20130514

    很多时候,我们也想展示页面的验证总结在一个模态对话框。有如此多的jQuery插件,有助于实现这一点,但是我还没有找到适合我的场景,他们 在本文中,我将展示如何显示这些消息在一个像样的格式在客户端。 该源码演示如果...

    jQuery.dialog.js网页弹出对话框美化特效插件.zip

    有兴趣刚需的可以自己下载,非常实用的jquery代码,可以完美运行,有能力的还可以二次修改!

    jQuery实现单击按钮遮罩弹出对话框效果(2)

    本文实例为大家分享了jQuery实现弹出对话框的具体实现代码,供大家参考,具体内容如下 首先,这里的引用jquery-1.4.4.min.js和jquery.XYTipsWindow.min.2.8.js这两个js,还有一个jquery.XYTipsWindow.2.8.css话不多...

    jQuery Dialog对话框事件用法实例分析

    本文实例讲述了jQuery Dialog对话框事件用法。分享给大家供大家参考,具体如下: ...Dialog对话框的使用也十分简单,选中了一个元素后,可以通过对这个元素使用”.dialog()”让其变成一个对话框,通

    JQuery&CSS;&CSS;+DIV实例大全.rar

    4.JS+CSS通用一个页面同时三个焦点图轮换效果完整实例 5.JS+CSS网页版模拟QQ登录框界面特效示例 6.JS+flash立柱广告代码仿百度MP3搜索右侧可伸缩的立柱广告效果 7.JS版本黑色超动感二级菜单导航模块代码 穿越...

    jquery应用实例

    $("p").slideDown("slow");描述: 用200毫秒快速将段落滑下,之后弹出一个对话框 jQuery 代码: $("p").slideDown("fast",function(){ alert("Animation Done."); });

    jQuery 弹出层

    在网上找的比较不错的弹出层。 实例有: 可以打开多个; 自动关闭; 非fixed模式(对话框不随滚动条移动); 显示指定ID的内容; 加载一张图片; 加载一URL地址; 加载一URL到iframe; 回调函数。

Global site tag (gtag.js) - Google Analytics