0

现在我正在使用这样的数据源:(使用过滤硬编码的参数)

   $(function () {
        $("#scheduler").kendoScheduler({
            date: new Date(Date.now()),
            startTime: new Date(2013, 5, 13, 9, 0, 0, 0),
            height: 800,
            timezone: "Etc/UTC",
            group: {
                resources: ["Rooms"]
            },
            resources: [
                {
                    name:"Rooms",
                    title: "Room",
                    field: "RoomID",
                    dataSource: {
                        transport:
                            {
                                read: { url: "@Html.Raw(Url.Action("Filter_Rooms", "Room", new{
                                    pPar1= true,
                                    pPar2 = false,
                                    pPar3 = true,
                                         }))", dataType: "json" }
                            }
                    }
                }

如您所见,这些参数仍然是硬编码的,我想在用户想要使用复选框时更改它们:

<div class="checkbox">
    <label>
    <input id="chkPar1" type="checkbox"> Parameter 1
    </label>
</div>
<div class="checkbox">
    <label>
    <input id="chkPar2" type="checkbox"> Parameter 2
    </label>
</div>   
    <a href="#" id="btnFilter" class="btn btn-outline btn-primary btn-lg btn-block">Filter</a>

我想在使用 javascript 检查是否单击了按钮然后将复选框参数存储在全局变量中并在调度程序的传输读取中使用这些参数,但似乎您不能在这里使用 document.getelementbyId。

在这里,他们建议Kendo UI 动态更改数据源字符串(XML),但这似乎对我也不起作用..

var dynamicUrl = "Html.Raw(Url.Action('Filter_Rooms', 'Room', new{pFilter = true, pCapacity = 25,pBeamer = true,pTelevision = false}))', dataType: 'json'"
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.dataSource.transport.options.read.url = dynamicUrl;

那么如何动态更改这些参数或更新整个传输读取 url?

问候

4

2 回答 2

0

尝试这个:

var pFilter = (document.getElementById("someID").value);
var pCapacity = document.getElementById("someID").value;
var pBeamer = document.getElementById("someID").value;
var pTelevision = document.getElementById("someID").value;

var dynamicUrl = "Html.Raw(Url.Action('Filter_Rooms', 'Room', new{pFilter = " + pFilter +  ", pCapacity = " + pCapacity + ",pBeamer = " + pBeamer + ",pTelevision = " + pTelevision + "}))', dataType: 'json'"

可能有某种类型的字符串格式可以像在 C# 中一样使用,但我不确定。希望这有效!

于 2014-06-10T14:30:48.573 回答
0

不确定它是否正是您所追求的,但一个很好的参考框架可能是这个示例项目。它非常简单地展示了如何在更改视图时加载新内容。你也许可以适应它。

于 2015-05-28T11:43:58.113 回答