2009-11-26 61 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的有我的默認方式來解決這個問題即 希望它有幫助

相關問題