KendoComboBox только значение привязки, а не текст определенного поля в предопуляции - PullRequest
0 голосов
/ 08 января 2019

В настоящее время я связываю комбинированный список кендо с набором средств json (DMIS). Существует поле COMBINED, которое содержит идентификатор и название объекта, который привязывается. Тем не менее, только идентификатор отображается для предварительного заполнения коробки. Все отображается при выборе другого объекта из поля со списком. Это просто первоначальная предварительная популяция, которая показывает только этот идентификатор, но должна показывать ОБА как идентификатор, так и название. Любая идея, почему он показывает только идентификатор и как я могу сделать так, чтобы он правильно связывался при предпопуляции?

    //ask a question dialog popup
    $("#askdialog").kendoDialog({
        open: function () {
            $("#facility").kendoComboBox({
                dataTextField: "Combined",
                dataValueField: "DMISID",
                filter: "contains",
                autoBind: true,
                minLength: 2,
                dataSource: {
                    serverFiltering: true,
                    transport: {
                        read: function (options) {
                            console.log(options);
                            if (typeof options.data.filter != "undefined" && options.data.filter != null &&
                                typeof options.data.filter.filters != "undefined" && options.data.filter.filters != null && options.data.filter.filters.length > 0) {
                                var DMIS_NAME = options.data.filter.filters[0].value;
                                if (DMIS_NAME.length > 1) {
                                    $.ajax({
                                        dataType: "json",
                                        url: DMIS_URL + DMIS_NAME,
                                        success: function (data) {
                                            console.log(data);
                                            options.success(data);
                                        },
                                        error: function (xhr, status, err) {
                                            console.log(err + "Error Status:" + status);
                                            options.error();
                                        }
                                    });
                                } else {
                                    options.success([]);
                                }
                            } else {
                                options.success([]);
                            }
                        }
                    },
                }
            });
        },
        visible: false,
        width: "500px",
        title: "Ask a Question",
        content: "<div id='new-question-form'>" +
            //"<h5 class='h5'>Ask Your Own</h5>" +
            "<input name='Prefix' id='prefix' placeholder='Prefix' type='text' class='k-textbox' maxlength='50' data-bind='value: Creator.NamePrefix' />" +
            "<input name='First Name' id='firstname' placeholder='First Name (Required)' type='text' class='k-textbox' maxlength='300' data-bind='value: Creator.FirstName' required />" +
            "<input name='Last Name' id='lastname' placeholder='Last Name (Required)' type='text' class='k-textbox' maxlength='300' data-bind='value: Creator.LastName' required />" +
            "<select id=\"facility\" style=\"width:100%;\" id='facility' name='Facility' placeholder='Facility (Required)' required></select>" +
            "<input name='Email' id='email' placeholder='Email (Required)' type='text' class='k-textbox' maxlength='300' data-bind='value: Creator.Email' required />" +
            "<input name='Phone' id='phone' placeholder='Phone (Required)' type='text' class='k-textbox' maxlength='50' data-bind='value: Creator.Phone' required />" +
            "<input name='DSN' id='dsn' placeholder='DSN' type='text' class='k-textbox' maxlength='50' data-bind='value: Creator.PhoneDSN' />" +
            "<p class='directions separate'>If you have multiple questions, please submit them in separate inquiries.</p><p class='directions caution'><span style='font-weight: bold;'>Caution:</span> <span style='font-style: italic;'>Do not include Personally Identifiable Information (PII).</span></p>" +
            "<textarea name='Text' rows='6' id='textbox' placeholder='Enter Question Here' class='k-textbox' data-bind='value: Question' required></textarea>" +
            //"<div id='chdButton'><button id='chd-new-button' type='submit' class='btn btn-green'>Submit</button></div>" + data-bind='value: Creator.DMIS'
            "</div>",
        actions: [
            { text: 'Submit', action: submitForm, primary: true }],
        buttonLayout: "stretched"
    }).data("kendoDialog");


        function onGetCurrentUserSuccess(data, request) {
            newInquiry = kendo.observable({
            Creator: {
                NamePrefix: data.NamePrefix,
                FirstName: data.FirstName,
                LastName: data.LastName,
                DMIS: data.DMIS,
                Email: data.Email,
                Phone: data.Phone,
                PhoneDSN: data.PhoneDSN,                           
            },
            Status: {
                Name: "Pending"
            },
            Question: ""
        });

        //post new inquiry to grid / update pre-population fields
        kendo.bind($("#askdialog"), newInquiry);
...