首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动完成弹出在克隆元素上不能正常工作

自动完成弹出在克隆元素上不能正常工作
EN

Stack Overflow用户
提问于 2017-10-26 12:50:40
回答 1查看 52关注 0票数 0

我无法正确地解释,所以我增加了图片,请帮助我,请不要投反对票。

嗨,我正在克隆div上的按钮点击,我想要自动完成框上克隆的元素也。在第一个元素上,它工作得很好,但是在克隆元素上,自动完成框(弹出)显示在第一个元素上,但是它应该显示在新创建的文本框上。

以下是html代码

代码语言:javascript
复制
<div class="repeatingSection">
<input id="Jobs[0].SampleType" name="Jobs[0].SampleType" type="text" class="form-control classSampleType" placeholder="Sample Name" required />
<a href="#" class="btn btn-warning buttonGray buttonRight addJob">Add Job</a>

以下是用于克隆的js代码

代码语言:javascript
复制
function resetAttributeNames(section) {
    var tags = section.find('input,button'), idx = section.index();
    tags.each(function () {
        var $this = $(this);
        $.each(attrs, function (i, attr) {
            var attr_val = $this.attr(attr);
            if (attr_val) {
                $this.attr(attr, attr_val.replace(/\[\d\]/,'['+(idx-5)+']'))
            }
        })
    })
}

$('.addJob').click(function (e) {
    e.preventDefault();
    var lastRepeatingGroup = $('.repeatingSection').last();
    var cloned = lastRepeatingGroup.clone(true)

    cloned.find("input").val("");

    cloned.insertAfter(lastRepeatingGroup);
    resetAttributeNames(cloned)
});

以下是自动完成的代码

代码语言:javascript
复制
$(".classSampleType").click(function () {
        var index = $(".classSampleType").index(this);

        $("#Jobs\\["+index+"\\]\\.SampleType").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/Lab/GetSampleType",
                    type: "POST",
                    dataType: "json",
                    data: { Prefix: request.term },
                    success: function (data) {
                        response(data);
                    }
                })
            },
            messages: {
                noResults: "", results: ""
            }
        });
    });

作为参考,我添加了图像参考图像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-27 08:36:29

为我做了以下改变

代码语言:javascript
复制
var cloned = lastRepeatingGroup.clone(true,false)
代码语言:javascript
复制
$(document).on('click','.classSampleType',function () {
    var index = $(".classSampleType").index(this);

    $("#Jobs\\["+index+"\\]\\.SampleType").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Lab/GetSampleType",
                type: "POST",
                dataType: "json",
                data: { Prefix: request.term },
                success: function (data) {
                    response(data);
                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46954844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档