我正在动态添加文本字段
var input = $('<input class="EditorFields" id="textfield"/>');
$(input).igEditor({
width: 140,
required:true
});
这很好用。 但是,当我尝试添加listItems属性时,它无法正常工作。
$(input).igEditor({
width: 140,
required:true,
listItems : ["red","blue","yellow"]
});
我不想更改要选择的基本元素。 请帮忙。
答案 0 :(得分:3)
第一件事 - Ignite UI jQuery API docs状态,按钮选项默认为none - 如果你想要一个下拉列表添加这个:
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/