这是我的代码,用于实现带有文本框的对话框:
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");
}
}
});
}-*/;
我遇到的问题是输入没有显示在对话框中。我可以在这里找到什么?
作为函数的一部分,我还需要将文本输入的值发送到方法进行处理。
答案 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>
无效。