首先要做的事情 - Ignite UI jQuery API 文档声明按钮选项默认为无 - 如果你想要一个下拉菜单,请添加:
button : "dropdown",
为什么这仍然行不通?如果您不详细了解动态控件,有时动态添加动态控件会很棘手。jQuery 也一样,这是人们经常错过的事情——jQuery 在文档片段中创建项目,因此您需要小心如何将它们附加到 DOM。
当您提供一个 INPUT 元素并请求一个复杂的编辑器时,控件的附加项(按钮、下拉列表、验证消息等)围绕该输入构建,并且整个内容都包装在容器 SPAN 中。因为您引用了输入并且它在我第一次假设您直接附加它时起作用。基本上,当您创建一个复杂的编辑器并随后使用相同的输入引用附加到 eh DOM 时,您会将所有额外的标记留在文档片段中。
我可以想到大约 3 种方法来让它工作,你选择最适合 yopur 需求的方法:
1)先追加项目,以便编辑器之后可以在 DOM 中正确初始化:
var input = $('<input class="EditorFields" id="textfield"/>').appendTo("body");
2)如果可能的话,提供容器,而不是输入:
var input1 = $('<span class="EditorFields" id="textfield1"/>');
3)当你知道你有一个父级时选择它并附加它:
$(input2).igEditor({
width: 140,
required: true,
listItems: ["red2", "blue2", "yellow2"],
button: "dropdown"
}).parent().appendTo("body");
这是一个包含所有这些的 JSFiddle:http: //jsfiddle.net/damyanpetev/ZRqb2/