2015-05-14 42 views
2

我試圖把一個textarea放在一個對話框中,我想要的是獲得該textarea的值,如果「ok」是點擊但我無法獲得該值。可能是什麼問題?無法獲得jquery ui對話框中textarea的值

$(document).on('click', '#open', function() { 
 
    var txt = $('#txt').val(); 
 
    $('#break-diag').dialog({ 
 
     modal: true, 
 
     title: 'Dialog', 
 
     show: { 
 
      effect: "scale", 
 
      duration: 200 
 
     }, 
 
     resizable: false, 
 
     buttons: [{ 
 
      text: "ok", 
 
      click: function() { 
 
       console.log(txt); 
 
      } 
 
     }] 
 
    }); 
 
});
#break-diag{ 
 
    display:none; 
 
}
<link href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<button id="open">Open Dialog</button> 
 
<div id="break-diag"> 
 
    <textarea id="txt"></textarea> 
 
</div>

+0

Textareas沒有「價值」屬性。相反,他們使用'innerHTML'來存儲它。嘗試使用'$('#txt')。html();'或'$('#txt').access();' –

回答

3

你捕捉上單擊打開textarea的價值;在這個事件期間這將是空的。

的價值應該在的好

click: function() { 
     var txt = $('#txt').val(); 
     console.log(txt); 
} 
+0

謝謝!有用。 –

2

點擊你想對話打開時獲取文本被捕獲。那裏沒有文字。

$(document).on('click', '#open', function() { 
 
    $('#break-diag').dialog({ 
 
     modal: true, 
 
     title: 'Dialog', 
 
     show: { 
 
      effect: "scale", 
 
      duration: 200 
 
     }, 
 
     resizable: false, 
 
     buttons: [{ 
 
      text: "ok", 
 
      click: function() { 
 
       var txt = $('#txt').val(); 
 
       console.log(txt); 
 
      } 
 
     }] 
 
    }); 
 
});
#break-diag{ 
 
    display:none; 
 
}
<link href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<button id="open">Open Dialog</button> 
 
<div id="break-diag"> 
 
    <textarea id="txt"></textarea> 
 
</div>

0
$(document).on('click', '#open', function() { 
    $('#break-diag').dialog({ 
     modal: true, 
     title: 'Dialog', 
     show: { 
      effect: "scale", 
      duration: 200 
     }, 
     resizable: false, 
     buttons: [{ 
      text: "ok", 
      click: function() { 
       var text= $('#txt').val(); 
       alert(text); 
      } 
     }] 
    }); 
}); 
0

您設置CSS樣式顯示:無以#磨合診斷DIV。

所以你怎麼能想象什麼都可以顯示。

所以當你按一下按鈕,顯示:無屬性應該從#盈虧診斷DIV刪除。