Kendo DropDownList получает элемент из данных json, отличных от dataTextField или dataValueField

Итак, у меня есть два раскрывающихся списка, и я хотел бы получить еще одно свойство json из второго раскрывающегося списка, кроме тех, которые относятся к dataTextField или dataValueField. Вот упомянутый выпадающий список:

$("#campoFormLinha"+index).kendoDropDownList({

        optionLabel: "Campo",
        dataTextField: "name",
        dataValueField: "id",
        dataSource: {
            type: "json",
            serverFiltering:true,
            transport: {

                read:{
                    url:"${pageContext.request.contextPath}" + "/newlayout/mySearchesFormFieds.do",
                    data:function(){
                        return {formId: $("#dynamicFormLinha"+index).val()
                        };
                    }
                }
            }
        },
        cascadeFrom: "dynamicFormLinha"+index
    }).data("kendoDropDownList");

вот json, который он возвращает:

[{"id":9,"name":"Cliente","type":"STRING"},{"id":10,"name":"Contribuinte","type":"STRING"},{ "id":11,"name":"Facturação","type":"STRING"},{"id":12,"name":"Conta","type":"STRING"},{"id ":13,"имя":"Фактура","тип":"STRING"},{"id":14,"имя":"Доблесть","тип":"STRING"}]

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

Как я могу это сделать?


person Maxrunner    schedule 17.04.2014    source источник
comment
Можете ли вы предоставить описание того, что у вас есть и что вы хотите?   -  person Jayesh Goyani    schedule 17.04.2014
comment
Всем привет! В настоящее время все работает хорошо, я просто хочу, чтобы тип свойства: STRING был доступен. идентификатор и имя уже доступны через dataTextField и dataValueField, но я хотел бы получить доступ к свойству типа, привязанному к выбранному параметру. Я предполагаю, что это возможно, я пытался использовать этот селектор: $(#campoFormLinha1).data(kendoDropDownList).dataSource._data, но это дает мне все параметры данных.   -  person Maxrunner    schedule 17.04.2014
comment
Вы хотите type:STRING выбранного элемента, верно?   -  person Jayesh Goyani    schedule 17.04.2014


Ответы (1)


Пожалуйста, попробуйте с приведенным ниже фрагментом кода.

<script type="text/javascript">
    function getSlectedItem() {
        var ddl = $("#color").data("kendoDropDownList");
        alert(ddl.dataSource.data()[ddl.selectedIndex - 1].type);
    }

    function onSelect(e) {
        alert(e.sender.dataSource.data()[e.item.index() - 1].type);
    }

    $(document).ready(function () {
        var data = [
                { text: "Black", value: "1", type: "string" },
                { text: "Orange", value: "2", type: "int" },
                { text: "Grey", value: "3", type: "string" }
            ];

        $("#color").kendoDropDownList({
            dataTextField: "text",
            dataValueField: "value",
            dataSource: data,
            optionLabel: "select",
            select: onSelect
        });
    });

</script>
  1. При выборе вы получите поле типа этого элемента
  2. При нажатии кнопки вы также получите поле типа этого элемента.

Дайте мне знать, если есть какие-либо опасения.

person Jayesh Goyani    schedule 17.04.2014
comment
О, я вижу, вы обновили его. Могу я спросить вас, что передает параметр в onSelect? - person Maxrunner; 17.04.2014
comment
У вас все еще есть какие-то опасения? - person Jayesh Goyani; 17.04.2014
comment
Смотрите мой предыдущий вопрос. :) - person Maxrunner; 17.04.2014