【问题标题】:Kendo UI - Set parameter programmaticallyKendo UI - 以编程方式设置参数
【发布时间】:2021-08-26 09:48:50
【问题描述】:
# var myVar = false; #
<div>
    @(Html.Kendo().Stepper()
            .Name("stepper")
            .Orientation(StepperOrientationType.Horizontal)
            .Label(true)
            .Indicator(true)
            .Steps(s =>
            {
                s.Add().Label("Step_1");
                s.Add().Label("Step_2").Selected(true);
                s.Add().Label("Step_3");
            })
        .ToClientTemplate())
</div>

以上设置 Step_2 为选中的。

如何以编程方式设置它?

例如s.Add().Label("Step_2").Selected(myVar);

【问题讨论】:

    标签: javascript kendo-ui telerik razor-pages kendo-asp.net-mvc


    【解决方案1】:

    您正在弄乱语言层。 myVar 是 Javascript,它在模板中,Html.Kendo()... 是 c#,所以你不能混合它们。您必须在外部模板更改它。

    我会做这样的事情:

    <div id="stepper-container" data-step="#= myVar #">
    

    然后在模板被渲染后,我会使用 Javascript 来改变它:

    let stepperIndex = $('#stepper-container').data('step');
    $('#stepper').data('kendoStepper').select(stepperIndex);
    

    【讨论】:

    • 感谢您对语言层的现实检查。 Kendo .Selected() 不接受像 .Name() 那样的“#=myProperty#”语法,例如.Name("stepper#=Id#") 给每个人一个唯一的名字。我绝望地尝试了一个javascript变量。
    • 你的 .select(stepperIndexindex) 相当于点击 UI...你知道如何设置值,这样你就不会触发动画和验证(不能将索引 2 设置为它将从索引 0 传递索引 1)
    • @TDP 我不知道该怎么做,事实上我从来没有使用过那个小部件。一个问题:当您使用设置的值初始化小部件时,它不会触发动画?如果是,您可以尝试另一种方法。您可以尝试使用setOptions 设置它,而不是使用select() 设置值,例如:$('#stepper').data('kendoStepper').setOptions({ value: stepperIndex })。值得一试。
    • .setOptions 不幸的是没有工作,我找不到绕过动画的方法。不过感谢您的帮助。
    猜你喜欢
    • 2015-07-20
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多