1

我有一个选择标签,当它发生变化时,我向用户显示另一个输入,当用户多次更改选择标签时,元素相互插入,但我想在更改选择标签后删除旧输入并插入新的相关输入。

4

2 回答 2

1

只需跟踪对元素的引用,然后......

var element;

$("#sel").change(function () {
    var sel = $(this);
    if(element)//check if an input has already been created
        element.remove();//remove the old input from the DOM
    element = $("<input/>").val(sel.val());//create the new input and store the reference
    element.insertAfter(sel);//insert the new input to the DOM
});

$("#sel").change();

这是一个工作示例

因为insertAfter它是您正在创建的元素的函数,所以无论如何您必须已经在当前代码中创建了对它的引用。因此,您只需要全局存储该引用。然后每次更改选择时,您可以检查引用是否有值并将其从 DOM 中删除。

于 2013-07-31T15:18:25.100 回答
0

将新元素放入可选择的divorspan中,并在创建新元素之前清空容器:

$('#inputContainer').empty().append('<input/>');
于 2013-07-31T15:20:57.940 回答