Kendo multiselect набранный текст, наложенный на выбранные элементы

Я использую kendomultiselect в своем веб-приложении. есть опция множественного выбора,

если мы введем текст нового элемента в режиме множественного выбора, он обновит источник данных и базу данных. все работает нормально. пожалуйста, посмотрите мой код ниже.

function fnLoadDocumentTags() {
var newTagItem = "";

function onTagDataBound() {
    if ((newTagItem || this._prev) && newTagItem !== this._prev) {
        var ds = this.dataSource,
            datas = ds.data(),
            lastItem = datas[datas.length - 1];

        newTagItem = this._prev;

        if (/\(Add New\)$/i.test(lastItem.TagName)) {
            ds.remove(lastItem);
        }

        var newEntryFound = _.findWhere(datas, { TagName: newTagItem }) != null;

        if (newTagItem.length > 0 && !newEntryFound) {

            ds.add({
                TagName: newTagItem + " (Add New)", TagID: newTagItem
            });
            this.open();
        }
    }

}

function onTagSelect(e) {
    debugger;
    var dataItem = this.dataSource.view()[e.item.index()],
    datas = this.dataSource.data(),
    lastData = datas[datas.length - 1];

    if (parseInt(dataItem.TagID) > 0) {
        //////this.dataSource.remove(lastData);
    }
    else {
        if (newTagItem.length > 0) {
            var tagID = fnInsertDocumentTags(newTagItem);
            dataItem.TagName = dataItem.TagName.replace(" (Add New)", "");
            dataItem.TagID = tagID;
        }
    }

    ////$.each(datas, function (index, value) {
    ////    debugger;
    ////    if (datas[index].TagID == 0) {
    ////        var dummyItem = datas[index];
    ////        this.dataSource.remove(dummyItem);
    ////        return;
    ////    }
    ////});
}

function onTagClose(e) {
    fnTagsChangeSelect();
}

var data = new kendo.data.DataSource({
    batch: true,
    transport: {
        read: {
            url: urljsonGetDocumentTags,
            dataType: "json"
        },
    },
    schema: {
        model: {
            id: "TagID",
            fields: {
                TagID: {
                    type: "number"
                },
                TagName: { type: "string" }
            }
        }
    }
});

$("#Tags").kendoMultiSelect({
    animation: false,
    dataTextField: "TagName",
    dataValueField: "TagID",
    dataSource: data,
    dataBound: onTagDataBound,
    select: onTagSelect,
    close: onTagClose
});
}

Но в то же время я сталкиваюсь с проблемой, например, когда я набираю текст в режиме множественного выбора, текст накладывается на выбранные элементы в режиме множественного выбора. пожалуйста, смотрите изображение ниже.

Kendo multiselect набранный текст, наложенный на выбранные элементы

Было бы хорошо, если у кого-нибудь есть предложение ...

Можете ли вы предоставить строку JSON для urljsonGetDocumentTags и текущие настройки CSS, чтобы воспроизвести проблему? Похоже, эта проблема связана с селектором .k-multiselect-wrap CSS.

Tetsuya Yamamoto 24.10.2018 06:13

@Tetsuya Yamamoto, ты прав. Я изменил свой CSS для этого.

Ragesh S 25.10.2018 08:53

Это ваша проблема все еще продолжается? Просто укажите некоторые пропущенные ранее вещи, чтобы можно было воспроизвести эту проблему, даже если источник проблемы связан с CSS.

Tetsuya Yamamoto 25.10.2018 09:29

Теперь все работает нормально. большое спасибо за ваш ценный повтор ..

Ragesh S 25.10.2018 10:11
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
4
366
0

Другие вопросы по теме