0

我有一个名为 clientCCBox 的组合框,我需要一个 javascript 来检索选定的选项值,这将是客户端 ID,然后将其传递给剑道网格数据源读取属性,如下所示:

<kendo:dataSource-transport-read url="/read.html?*clientID*"/>

我一直在尝试使用这个 js 片段来恢复选定的值;文档写入在那里可以直观地查看它是否实际检索到该值,但它什么也不显示。一旦我获得了 clientID,我将如何在 HTML 中使用它?

<script> 
    function onSelect(e){
        var clientId = clientCCBox.value();   
        document.write(clienteId);
    }
</script>

如果我确实设法在查询字符串上传递 clientID,控制器上的以下代码将返回一个列表并填充网格对吗?

@RequestMapping(value = "/read.html*")
public @ResponseBody List<Workers> read(HttpServletRequest request) {
    return workerDAO.listWorker(Integer.parseInt(request.getQueryString()));
}
4

3 回答 3

1

您可以使用标签中的parameterMap属性定义附加参数。kendo:dataSource-transport

例子:

<kendo:dataSource-transport parameterMap="additionalParameters">
    <kendo:dataSource-transport-read url="/ListBeer" type="GET" contentType="application/json"/>
</kendo:dataSource-transport>

在哪里additionalParameters

<script type="text/javascript">
    var theId = "xyz";

    function additionalParameters(data, type) {
        if (type === "read") {
            return "id=" + theId;
        }
        return data;
    }
</script>

在这里,我将从以下 url 加载数据,/ListBeer?id=xyz其中.xyztheId

您还可以发送多个参数:

function additionalParameters(data, type) {
    if (type === "read") {
        return "id=" + data + "&param=" + JSON.stringify(data);
    }
    return "param= "+ JSON.stringify(data);
}
于 2013-01-28T23:12:33.150 回答
1

使用下拉列表的读取操作参数上的“数据”事件为下拉列表指定动态 javascript 参数。请注意 .Read 方法的确切语法。您经常看到语法 .Read("ActionName", "ControllerName") 但我们想要其他重载版本的 .Read:

.DataSource(data => data.Read(read => read.Action("GetDropDownValues", "Quote").Data("getCriteria")))

function getCriteria() {
    return {
        id: "put value here",
        anotherParameter: 55
    };
}
于 2013-03-15T18:02:52.560 回答
0

您需要将客户端 ID 放在传输的数据字段中。

看看下面的链接。

http://docs.kendoui.c​​om/api/framework/datasource#transportcreatedata-objectstringfunction

这是 jquery 的一部分而不是剑道 ui

于 2013-01-28T19:17:02.733 回答