2011-07-31 42 views
1

**更新**如何在jQuery對話框中使用event.target在雙擊時更改DIV的innerHTML?

基本上我問的是眼前這個 - 可有人請向我解釋如何使用event.target?我需要知道什麼DOM元素觸發了一個事件,並在該事件中「做某事」(即在jquery對話框中更改DIV的內容)。謝謝!


OK,我已經發現了一些問題,/這是接近我正在尋找答案,但他們要麼是不完全一樣或...我只是無法弄清楚如何應用它對我的情況。我很確定我需要什麼涉及「event.target」或那種性質的東西,但是我的大腦現在有點油炸;我和我無法使它工作。請幫忙!非常感謝,

我有一個按鈕,點擊時會打開一個對話框。該對話框有一個表單。填寫表格並單擊「創建」按鈕後,表格關閉,並將新的div附加到包含輸入信息的文檔主體。這工作完美。我的問題是這樣的:我想要另一個對話框打開,當新的div被雙擊,將允許編輯的信息。我甚至還沒有試圖將當前信息包含在對話框中,我正在嘗試更新div,但我無法使其工作。我不知道如何將這個「我猜」傳遞給對話框。

對話框如何知道div打開它,然後在單擊對話框的「編輯」按鈕時更改該div的innerhtml?

我有兩個形式的對話框:

<div id="dialog-form" title="Create new element"> 

<form> 
    blah blah blah 
    </form> 
</div> 


<div id="dialog-edit" title="Edit Element"> 

<form> 
blah blah blah 
    </form> 
</div> 

和一個按鈕:

<button id="create-element">Create new element</button> 

然後我有第一(創建元件)對話框完美的工作:

<script> 
$(function() { 
    var begin = '<div class="column">' + 
     '<ol class="sortable">' + 
      '<li>' + 
     '<div ondblclick="onDblClick();">'; 
    var end = '</div>' + 
     '</ol>' + 
     '</div>'; 


    $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 300, 
     width: 350, 
     modal: false, 
     zIndex:101, 
     buttons: { 
      "Create Element": function() { 

      $("#body").append(begin + ...<some other stuff here>... + end); 
      } 

      $(this).dialog("close"); 


      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     }, 

    }); 

    $("#create-element") 
     .button() 
     .click(function() { 
      $("#dialog-form").dialog("open"); 
     }); 
}); 

</script> 

當div雙擊:

function onDblClick() { 

      $("#dialog-edit").dialog("open"); 
     } 

,然後有「編輯元素」對話框中,我不知道如何使用更改是DIV的innerHTML雙重點擊打開它:

<script> 
$(function() { 

....variables here.... 


    $("#dialog-edit").dialog({ 
     autoOpen: false, 
     height: 300, 
     width: 350, 
     modal: false, 
     zIndex:101, 
     buttons: { 
      "Update Element": function() { 

need some way to set target here = variable1fromabove + variable2 + etc + etc; 


        $(this).dialog("close"); 


      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     }, 

    }); 


}); 

</script> 

回答

0

我真的不明白你想做什麼。但我認爲這可以幫助你一些:

$('#dialog').dialog('isOpen') 

它將返回true/false。所以你可以用它來檢查現在打開哪個對話框。

+0

不,我不需要檢查對話框是否打開。雙擊DIV時,對話框打開。該對話框用於編輯該DIV中的文本。我需要知道如何在對話框中訪問特定的DIV(當你雙擊它們時,很多DIV打開對話框) – pleasehelpneeddesignhelp

相關問題