JQuery UI:如何将值传递给对话框

时间:2011-07-01 16:27:21

标签: javascript jquery jquery-ui struts2 jquery-ui-dialog

我是JQuery UI的新手。 我在使用JQuery加载模式对话框窗口时遇到问题。 在这里,我正在尝试打开对话框的简单示例,并将在单选按钮的onClick事件上加载新页面。 加载到对话框中的新页面是动态页面,它通过主页面的文本框提供基于用户的数据库中的一些值。

我不确定如何传递该值     主页的文本框? Alsosd     我试图传递文本的价值     通过附加url属性来添加框     网址..但没有运气:(。即我的网址是     regressionTestCustomMetadataSelection.action     而我正试图将其作为传递     regressionTestCustomMetadataSelection.action *?*消费者     消费者是文本的价值所在     box.Is这是正确的方法吗? 推出以下代码

<!DOCTYPE html>

<html>
<head>  
    <script type="text/javascript" language="javascript" src="JS/jquery-1.6.1.js"></script>
    <script type="text/javascript" language="javascript" src="JS/jquery-ui-1.8.14.custom.min.js"></script>



<style type="text/css" title="currentStyle">
            @import "css/jquery-ui-1.8.4.custom.css";
        </style>    

    <script type="text/javascript">
        $(document).ready( function(){
            $("#CUSTOM").click( showDialog );
            //variable to reference window
            myWindow = $('#dialog');

            }
        );     
        //function to show dialog        
        var showDialog = function() {         
            //instantiate the dialog

            myWindow.load("regressionTestCustomMetadataSelection.action?consumer").dialog({ height: 350,
                            width: 400,
                            modal: true,
                            position: 'center',
                            autoOpen:false,
                            title:'Hello World',
                            overlay: { opacity: 0.5, background: 'black'}
            });

            //if the contents have been hidden with css, you need this         
            myWindow.show();          
            //open the dialog
            myWindow.dialog("open");
            }      
        //function to close dialog, probably called by a button in the dialog     
        var closeDialog = function() {
            myWindow.dialog("close");
            }
    </script>

  <script>




  function setSession()
  {
      $(document).ready(function() {
        $("#dialog").load("regressionTestCustomMetadataSelection.action?as").dialog({ modal: true, resizable: false, draggable: false, width: 515, height: 245 });
      });

      $("#dialog").dialog('open');
  }
  </script>
</head>
<body style="font-size:62.5%;">
 <div>
                                        <input type="radio" name="submittedMetadataSelection" id="DEFAULT" value="DEFAULT" checked/>
                                        <label for="DEFAULT">DEFAULT</label>

                                        <input type="radio" name="submittedMetadataSelection" id="CUSTOM" value="CUSTOM" "/>
                                        <label for="CUSTOM">CUSTOM</label>

</div>
<div id="dialog" title="Dialog Title"></div>

</body>
</html>

1 个答案:

答案 0 :(得分:2)

而不是“加载”,尝试使用$ .ajax方法并使用“data”对象发送参数:

$.ajax({
    url: "regressionTestCustomMetadataSelection.action",
    data: ({customer: "John"}),
    traditional: true,
    success: function(loadedData) {
        // assuming that the contents of loadedData is html
        myWindow.html(loadedData);
        myWindow.dialog();
    }
});