2012-09-17 61 views
1

我有一個jquery對話框如果被激發顯示幾個輸入字段要完成和提交,裏面我有一個選擇下拉我想鏈接在選定的值的函數到一個文本區域,意思是稅務區應該填充一個自定義文本。我的問題how to declare a .change event inside of dialog?how to declare <textarea>$variable_text</textarea>對話框中的jquery事件

我試過

// Init Dialog 
    $('a.open_dialog').click(function() { 
     $('<div />').appendTo('body').load($(this).attr('href')).dialog({ 
      title: $(this).attr('title'), 
      modal: true, 
      draggable: false, 
      width: 800, 
      position: 'top'    
     }); 
     $('select#state').change(function() { 
      // assign the value to a variable, so you can test to see if it is working 
      var selectVal = $('select#state :selected').val(); 
      var emailMessage = 'lorem Ipsume dolores macus nacus'; 
      $("textarea#EmailMessage").val(emailMessage); 
      alert($("textarea#EmailMessage").val(emailMessage)); 
     }); 


     return false; 
    }); 

回答

0

你還沒有真正指出什麼是不工作的。我可以建議的一件事是修改如何提取下拉元素的「選定」值。

var selectVal = $('select#state').val(); 

沒有必要指定「選擇」選項,因爲<select>元素只能有一個值。這當然假設它不是多選。

還有一件您可能想嘗試的方法是使用on()函數代替change()函數。如果將這些元素動態添加到文檔中,則change()函數可能不會觸發,因爲在解析代碼時,該元素尚未出現在頁面上。

$('select#state').on('change',function() { 
    ... 
}); 
+0

感謝您的反饋,在我的對話框中打開。我回到原始html – kakuki

+0

好的,如果你使用常規的'.change()'函數,即使內容是動態添加的,它仍然會被執行嗎?如果是這樣,那麼你真的* *沒有*使用'on()' – Lix

+0

更改不會中斷,但我沒有任何提醒選擇 – kakuki