1

だから私は2つのドロップダウンリストを持っていて、dataTextFieldまたはdataValueFieldに起因するもの以外の2番目のドロップダウンリストから別のjsonプロパティを取得したいと思います. 参照されたドロップダウンリストは次のとおりです。

$("#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"}]

これらすべてを想定して、選択したオプションに応じて type プロパティを取得したいと思います。

これどうやってするの?

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 に答える