带有jQuery的文本框的对话框

时间:2013-11-04 18:15:53

标签: javascript jquery

这是我的代码,用于实现带有文本框的对话框:

public static native void showEmailModal(String title)/*-{
    $wnd.$("<div><input id='emailAddresss' type='text'>Test</input></div>")
        .text("Enter email address:")
        .appendTo("body")
        .dialog({
            title: title,
            modal: true,
            width: 400,
            hide: "fade",
            show: "fade",
            buttons: {
                "Send": function() {
                    $wnd.$(this).dialog("close");
                },
                "Cancel": function() {
                    $wnd.$(this).dialog("close");
                }
            }
    });    
}-*/; 

我遇到的问题是输入没有显示在对话框中。我可以在这里找到什么?

作为函数的一部分,我还需要将文本输入的值发送到方法进行处理。

2 个答案:

答案 0 :(得分:1)

我不确定这是什么语言/框架,但我会假设非jQuery的东西是正确的。

这一行:

$("<div><input id='emailAddresss' type='text'>Test</input></div>")

创建一个新的div,这一行:

.text("Enter email address:")

div元素的文本设置为Enter email address:,它会覆盖/删除输入。

此外,input元素是自动关闭的:<input type="text" value="Test" />

答案 1 :(得分:1)

您正在使用.text()方法覆盖内容(包括输入字段)。

请改用:

$("<div></div>")
        .html("Enter email address: <input id='emailAddresss' type='text'>")

此外,<input>无法拥有子节点,即<input>Test</input>无效。