2009-11-26 69 views
0

这可能是一个简单的,但我不能让我的头靠近它。如何将数据(一个被丢弃的元素)传递给jQuery对话框?

基本上我有一个列表设置为接受删除的元素。我想要一个jQuery对话框来显示响应一个丢弃的元素,并在用户按下确定后,向服务器发送关于所述丢弃元素的信息。

我目前的问题是,我必须在调用它之前设置jQuery对话框(在文档加载中),因此必须定义按下“确定”时运行的函数。然而,我不能在这个阶段访问掉落的元素,因为我不知道它是什么。

目前我正在设置一些不可见的跨度来保存我需要的已删除元素的数据,并在绑定到Ok的函数运行时读取它。我确定必须有更好的方法。

在此先感谢,并道歉是这个问题有点混淆。

回答

1

这样才公平,如使用的页面或对话框<input type="hidden" />领域的类似的解决方案。

如果你在任何函数或子句外声明一个变量,它将在你的所有JS中被访问。例如:

<script type="text/javascript" language="javascript"> 

    var info; 

    //... 

    drop: function(){ 
     info = { 
      info1: "value", 
      info2: "value" 
     } 
    } 

    //... 

    function clickOK(){ 
     alert(info.info1); 
     alert(info.info2); 
    } 

但是你的方式真的很好!

+0

谢谢(和其他人回答)。 由于某种原因,我完全忘记了全局变量的概念:-) 我更喜欢这样做,而不是在后台设置隐藏的DOM元素。看起来很整洁! – Sergio 2009-11-26 16:31:20

1

为什么不把它放在变量中?无论是全球性的,还是可以通过写作代码和阅读代码访问的。

1

对话实际上是一个div,它保持隐藏(你知道),所以实际上显示之前,只是添加的内容在里面使用jQuery

假设对话框有ID-“对话”,你SE它

$("#dialog").innerHTML(yourDiv); 

你只显示前

3

有很多方法可以做到这一点:

我假设你已经使用模态窗口中创建对话框,对吗?

所以你有一个消息和按钮的对话框,让我们假设按钮会在sumbit上传递一些特定的参数。如果是动态创建呼叫方元素

  1. 使用jQuery数据()函数:

    现在就来的方式。

    $( '#someDiv')的数据( 'someVar',“itsVal “);

  2. 使用属性:

    $( '#someDiv')。attr('rel','itsVal');

或注入它通过HTML

<div id="someDiv" rel="itsVal">Hello</div> 

在显示对话框中你可以使用下面的方法访问值:

var $myVar = $('#someDiv').data('someVar'); 

var $myVar = $('#someDiv').attr('rel'); 

Theese的有我的默认方式来解决这个问题即 希望它有帮助

相关问题