无法在jquery ui对话框中获取textarea的值

时间:2015-05-14 03:09:05

标签: javascript jquery html css jquery-ui

我试图将一个textarea放在一个对话框中,我想要的是获取该textarea的值,如果“ok”是单击但我无法获得该值。可能是什么问题?

$(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>

4 个答案:

答案 0 :(得分:3)

您正在点击打开时捕获textarea值;在这次活动中,这将是空的。

单击Ok

时应捕获该值
click: function () {
       var txt = $('#txt').val();
       console.log(txt);
}

答案 1 :(得分:2)

您在对话框打开时尝试获取文字。那里还没有文字。

&#13;
&#13;
$(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);
            }
        }]
    });
});
&#13;
#break-diag{
    display:none;
}
&#13;
<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>
&#13;
&#13;
&#13;

答案 2 :(得分: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);
            }
        }]
    });
});

答案 3 :(得分:0)

使用#break-diag DIV设置CSS样式 display:none

所以你怎么能想象任何东西都可以展示。

因此,当您点击该按钮时,显示:无属性应从 #break-diag DIV 中删除。