0

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

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");
                }
            }
    });    
}-*/; 

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

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

4

2 回答 2

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" />

于 2013-11-04T18:19:26.387 回答
1

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

改用这个:

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

另外,<input>不能有子节点,即<input>Test</input>无效。

于 2013-11-04T18:20:14.727 回答