KendoUI ComboBox基于Datasource选择Option

时间:2015-06-03 20:24:23

标签: javascript ajax combobox kendo-ui

我需要有关此代码的帮助。

代码将从PHP脚本获得JSON响应,并将根据其内容创建ComboBox。

这有效...我的问题是我需要定义默认情况下选择的选项,在这种情况下,因为表单是编辑表单。

使用Javascript:

    dsource = new kendo.data.DataSource({
        transport: {
            read: {
                url: url,
                dataType: "json"
            }
        },
        schema: {
            model: {
                fields: {
                    value: {type: "number"},
                    text: {type: "string"}
                }
            }
        }
    });

    var combobox = $(obj).kendoComboBox({
        placeholder: "Selecione",
        dataTextField: "text",
        dataValueField: "value",
        filter: "contains",
        minLength: 3,
        dataSource: dsource
    });

从PHP返回的json如下所示:

[{"value":3,"text":"Blue"},{"value":4,"text":"Red"},{"value":5,"text":"Pink"}]

我需要做的是选择一个基于此JSON的选项,例如:

[{"value":3,"text":"Blue", "selected":true},{"value":4,"text":"Red"},{"value":5,"text":"Pink"}]

在这种情况下,默认情况下会选择蓝色选项。

我通过各种方式尝试过这个我能想到的......

2 个答案:

答案 0 :(得分:1)

你也可以尝试这个..

//[{"value":3,"text":"Blue", "selected":true},{"value":4,"text":"Red"},{"value":5,"text":"Pink"}]

function getSelectedTagValue() {
    var i = null;
    for (i = 0; dsource.length > i; i += 1) {
        if (dsource[i].selected == 'true') {
            return dsource[i].text;
        }
    }
    return null;
};

$("#kendoitems").kendoComboBox({
        dataTextField: "text",
        dataValueField: "value",
        dataSource: data
});

var combobox = $(obj).kendoComboBox({
        placeholder: "Selecione",
        dataTextField: "text",
        dataValueField: "value",
        filter: "contains",
        minLength: 3,
        dataSource: dsource
    });

combobox.value(getSelectedTagValue());

希望这有帮助,

此致

答案 1 :(得分:1)

嗯....在尝试了所有可能的方法后,我不得不改变代码的整个逻辑。

首先,我使用ajax从php获取ComboBox json数据。刚完成后我将表单输入转换为KendoUi ComboBox。

好吧,让代码说明一下,这就是:

static glm::mat4 matrix =
{ 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f };