繁体   English   中英

获取uidialog的全部内容

Getting uidialog full contents

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个uidialog,想获取它的完整内容,但是由于某种原因,如果我使用.html(),我会得到旧的HTML内容,但是如果我使用序列化,我会得到当前的实时内容。

因此,在我的对话框中,我有:

alert($(this).find('form').serialize()); //This serializes current live contents, as they appear in the uidialog form.
alert($(this).html()); //This shows the html before any modifications on the dialog

为什么html()在修改之前显示html,而serialize()向我显示使用输入的当前值进行序列化?

1 个回复

您无法使用html()获得它。 我创建了一个函数,该函数采用序列化数组并填充一个容器以保存html中的对话框。 这是从对话框中调用的方式:

//Set current vals to html before saving
setInputVals('#' + $(this).attr('id'), $(this).find('input, select, textarea').serializeArray());

这是函数:

/*
 * Sets input vals to a container
 * 
 * @param container_id The id of the container
 * @param inputVals The serialized array that will be used to set the values
 * 
 * @return boolean. Modifies container
 */
function setInputVals(container_id, inputVals) {
    //Order by name
    var inputValsByName = new Array();
    $.each(inputVals, function(key, value) {
       inputValsByName[value.name] = value.value;
    });

    //Loop through inputs and set correct values
    $.each($(container_id + " :input"), function(key, value) {
        if (!value.name in inputValsByName) {
            return true;
        }

        //Loop through each type. Make sure you add new types here when needed. Notice that val() won't work generally
        //for changing the html, and that is why attributes were mostly used.
        if (value.type == 'radio') {
            //Remove checked attribute and add it to the correct one
            $('input:radio[name=' + value.name + ']').removeAttr('checked');
            $('input:radio[name=' + value.name + ']').filter('[value="' + inputValsByName[value.name] + '"]').attr('checked', 'checked');  
        } else if (value.type == 'checkbox') {
            //Checked attribute for checkbox
            if (inputValsByName[value.name] != undefined) {
                $(this).attr('checked', 'checked');
            } else {
                $(this).removeAttr('checked');
            }
        } else if (value.type == 'textarea') {
            //Set text to textarea
            $(this).text(inputValsByName[value.name]);
        } else if (value.type == 'select-one') {
            //Remove selected attribue from the options and add the correct one.
            $(this).find('option').removeAttr('selected');
            $(this).find('option[value="' + inputValsByName[value.name] + '"]').attr('selected', 'selected');
        } else if (value.type == 'text') {
            //Set value attribute for text input
            $(this).attr('value', inputValsByName[value.name]);
        }
     });

     return true;
} 

在主要浏览器上测试。 希望它能对某人有所帮助! :)

1 使背景伸展到内容的最大高度

我的Codepen http://codepen.io/leongaban/pen/sBvfL 因此,有一个奇怪的问题,我试图获取#portfolio div的背景以拉伸以包含下面的缩略图,这些缩略图在投资组合div的ul列表中。 但是100%或自动不会影响高度。 我必须设置一个静 ...

2 jQuery UIDialog

当按下网站的页脚链接( contactus.htm , profile.htm , useterms.htm )时,我有一个打开的对话框。 问题是,当有人从搜索引擎进入这些页面时,这些页面的样式不正确。 例如,我想在页面上添加边框线,如果这样做,在对话框中看起来不会很好-会有2条边框 ...

3 Xpage组件使用UIDialog,UIDialog不呈现其子级

我正在尝试为我的公司开发组件,但应该有一个集成对话框。 直到我用Dialog达到目的之前,创建组件都很容易。 我想将com.ibm.xsp.extlib.component.dialog.UIDialog用于我的组件,因为它具有一些我想使用的不错的功能,因此不能选择使用ClientSideD ...

5 uidialog多次发送表格

我有一个带有自定义按钮的jquery ui对话框,第一次可以很好地发送数据,但是当我再次单击一个新打开的对话框时,它将发送两次,然后发送三次,依此类推(无需重新加载页面)。 如果我重新加载页面,效果很好,但是为什么呢? 这是我的函数的外观: 我想念什么? 我一直在环顾四周,发现诸如 ...

7 ExecuteScalar()不返回单元格的全部内容

我有一个存储过程,该过程返回一个XML字符串。 当我直接从表中复制它时,我得到的一切都与我期望的完全一样。 但是,当我尝试使用C#运行此存储过程时,ExecuteScalar()仅返回我期望的70行中的46行。 这是我正在使用的代码: 这是我从网上得到的例外 S ...

8 查看文件Unix的全部内容

我希望能够查看文件中的所有文本行,最初我只需要文件的顶部并且一直在使用 头-n 50'filename.txt' 我只能执行head -n 1000,因为大多数文件包含的内容少于此数量,但更倾向于使用bettr替代方案 ...

2013-11-11 12:17:42 1 24   unix
9 显示WordPress页面的全部内容

这是我正在处理的LINK 。 “ About Us部分没有显示全部内容,而是没有显示更多按钮以转到下一页,而我想显示“ About Us页面的全部内容,而不是简短的摘要。 我做了很多检查,但在主题中找不到任何解决方法 更新: 我在(page-template / custom- ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM