JQuery的对话框内访问变量 [英] Access variables inside JQuery dialog

查看:131
本文介绍了JQuery的对话框内访问变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在viewBag用户ID我要访问我的内部对话框中ViewBag

 <脚本>
    $(函数(){
        $(#对话)。对话框({
            的AutoOpen:假的,
            模式:真实,
            宽度:339,
            覆盖:{
                的backgroundColor:'红',
                不透明度:0.5
            },
            显示: {
                大意是:盲人,
                持续时间:500
            },
            隐藏:{
                大意是:爆炸
                持续时间:700
            }
        });
    });    功能OpenDialog()
    {
        $('#对话)对话框(开放);
    }
< / SCRIPT>< D​​IV ID =开放的onclick =OpenDialog();>点击要打开< / DIV>  @ ViewBag.UserID
    < D​​IV ID =对话>
            <表>
                &所述; TR>
                    < TD>用户ID< / TD>
                    < TD> @ ViewBag.UserID< / TD>
                < / TR>
                &所述; TR>
                    < TD>意见< / TD>
                    < TD> @ Html.TextArea(CommentsTextBox)< / TD>
                < / TR>
            < /表>
            < D​​IV CLASS =alignCenter>
                 <输入类型=提交值=添加/>
                 <输入类型=按钮值=取消/>
            < / DIV>
    < / DIV>


解决方案

您code应该有工作,但可能是jQuery的对话框的div改变DOM元素值< D​​IV ID =对话 >

您可以试试下面的办法。

保留用户ID的隐藏字段。

 <输入类型=隐藏ID =用户id值=@ ViewBag.UserID/>

请在&LT的用户ID占位; DIV ID =对话>

 < D​​IV ID =对话>
    <表>
        &所述; TR>
            < TD>用户ID< / TD>
            &所述; TD>&下;跨度的id =dialogUserId>&下; /跨度>&下; / TD>
        < / TR>
    < /表>
< / DIV>

获取用户ID和OpenDialog分配形式占位符()事件。

 <脚本>
功能OpenDialog()
    {
        $(#dialogUserId)VAL($(#用户id)VAL()。)。 //如果这是不行的尝试添加对话框后,这条线(开放)
        $('#对话)对话框(开放);
    }
< / SCRIPT>

I have a user ID in viewBag I want to access the ViewBag inside my dialog box

<script>
    $(function () {
        $("#dialog").dialog({
            autoOpen: false,
            modal: true,
            width: 339,
            overlay: {
                backgroundColor: 'red',
                opacity: 0.5
            },
            show: {
                effect: "blind",
                duration: 500
            },
            hide: {
                effect: "explode",
                duration: 700
            }
        });
    });

    function OpenDialog()
    {
        $('#dialog').dialog("open");
    }
</script>

<div id="open" onclick="OpenDialog();">Click To Open</div>  

  @ViewBag.UserID
    <div id="dialog">   
            <table>
                <tr>
                    <td>User ID</td>
                    <td>@ViewBag.UserID</td>
                </tr>
                <tr>
                    <td>Comments</td>
                    <td>@Html.TextArea("CommentsTextBox")</td>
                </tr>
            </table>
            <div class="alignCenter"> 
                 <input type="submit" value="Add" /> 
                 <input type="button" value="Cancel" /> 
            </div>
    </div>

解决方案

Your code should have worked but may be Jquery dialog changing dom element value for div <div id="dialog">

You can try following approach.

Keep UserId in hidden field.

<input type="hidden" id="userId" value="@ViewBag.UserID" />

Make placeholder for UserId inside <div id="dialog">

<div id="dialog">
    <table>
        <tr>
            <td>User ID</td>    
            <td><span id="dialogUserId"></span></td>
        </tr>
    </table>
</div>

Get UserId and assign form place holder on OpenDialog() event.

<script>
function OpenDialog()
    {
        $("#dialogUserId").val($("#userId").val()); //if this won't work try adding this line after dialog("open")
        $('#dialog').dialog("open");
    }
</script>

这篇关于JQuery的对话框内访问变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆