1

所以我有两个下拉列表,我想从第二个下拉列表中获取另一个 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,"name":"Factura","type":"STRING"},{"id":14,"name":"Valor","type":"STRING"}]

因此,假设所有这些,我想根据所选选项获取类型属性。

我怎样才能做到这一点?

4

1 回答 1

3

请尝试使用以下代码片段。

<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. 单击按钮时,您还将获得该项目的类型字段

让我知道是否有任何问题。

于 2014-04-17T13:09:01.260 回答