当我通过克隆向DIV添加选择动态时,我无法从新下拉列表中选择任何内容,为什么会有任何想法?
$(".inline-form .copyIng:first-child").clone().appendTo(".inline-form");
请参阅:http://jsfiddle.net/rxwL6/
.trigger("refresh"); Dosen't change anything, I still can't select anything from the new dropdown.
答案 0 :(得分:1)
问题是您正在克隆已被jQM“增强”而不是原始标记的html内容。因此,jQM不知道如何创建或刷新它。
相反,如果你提前知道标记,只需像这样插入:
$(document).on("pageinit", function () {
$("#newIng").click(function () {
var tocopy = $('<div class="copyIng"><div class="left"><input type="text" name="m" placeholder="Some text" /></div> <div class="ingDiv"><select size="1" name="c"><option value="">No 1</option><option value="">No 2</option><option value="">No 3</option></select></div></div>');
$(".inline-form").append(tocopy);
$(".copyIng").trigger("create");
});
});
这是您更新的 FIDDLE
更新: 来自评论。 OP有兴趣克隆下拉列表中的选项列表,因此不必每次都从数据库中检索它们。以下是获取选项列表并将其插入到附加的新文本中的示例:
$(document).on("pageinit", function () {
$("#newIng").click(function () {
var optList = $(".ingDiv select").eq(0).html();
var tocopy = $('<div class="copyIng"><div class="left"><input type="text" name="m" placeholder="Some text" /></div> <div class="ingDiv"><select size="1" name="c">' + optList + '</select></div></div>');
$(".inline-form").append(tocopy);
$(".copyIng").trigger("create");
});
});
已更新 FIDDLE