剑道下拉选项标签更改选定值

Posted

技术标签:

【中文标题】剑道下拉选项标签更改选定值【英文标题】:Kendo Dropdown optionLabel changes selected value 【发布时间】:2013-07-14 18:16:33 【问题描述】:

我想知道是否有人可以阐明为什么为 Kendo Dropdown 设置选项标签会影响所选值,以及如何避免这种情况。

设置是我有一个由 ASP 代码填充的选择列表。所选值在代码隐藏中设置。

除非我指定选项标签,否则一切正常。当我这样做时,选定的值会发生变化。它在行动中:

console.log("Value before: " + $("#dropdownlist").val());

    $("#dropdownlist").kendoDropDownList(
       optionLabel: 
            text: "-- Select An Option --",
            value: 0
       
    );

console.log("Value before: " + $("#dropdownlist").val());

Console output:

Value before: 2
Value after: 1

当我从 value = 3 开始时,optionLabel 将新选择的值设置为 2。

提前感谢您的帮助。

【问题讨论】:

您能在 JSFiddler 或 JSBin 中显示实际代码吗?在我看来,问题中的代码不是产生输出的代码(可能是剪切和粘贴过程中的一些错误) 在您的示例中,您从两个不同的控件(legalCountryID 和下拉列表)输出选定的值?以及为什么在初始化剑道控制之前设置选定的值。先做控件再选择选中的值,就不会出现这个问题了。一旦 Kendo 下拉菜单启动并运行,您应该使用 .value() 而不是 .val() 。例如。 $("#dropdown").data("kendoDropDownList").value() 感谢 cmets。我很抱歉错字 - 我实际上是在引用同一个控件。至于设置选定的值,我这样做是因为它需要在服务器端设置。 【参考方案1】:

这是一个小提琴http://jsfiddle.net/vojtiik/VZRwf/1/,显示 ddl 维护选择。我的控制台显示 3, 3, 3。您获得不同值的原因是因为您的第一个日志引用了不同的控件。

var $select = $('#size');

$select.val(3);

console.log($select.val()); // 3
var ddl = $('#size').kendoDropDownList(
    optionLabel: 
        text: "-- Select An Option --",
        value: 0
    
).data("kendoDropDownList");

console.log($select.val()); // 3
console.log(ddl.value()); // 3

【讨论】:

对不起,这是我的错字。问题仍然存在。我会整理一个小提琴。 所以......这在小提琴中工作正常,但仍然在我的网站上中断。有什么见解吗? 您必须向我们展示您页面其余部分的 html 位。从我的小提琴中,您可以看到您声称的内容不起作用,其行为方式是您希望它在页面上没有任何其他内容的行为。这意味着您的问题在其他地方。 很遗憾我做不到,但感谢您的关注。同意页面上的其他内容可能导致问题。

以上是关于剑道下拉选项标签更改选定值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ReactJS 中更改单选按钮时重置选定的下拉列表

根据选定的选项卡更改 Tabcontrol 外部的控件属性

另一个下拉列表的事件更改后刷新剑道下拉列表

在选定的剑道网格 mvvm 中获取剑道下拉列表值/文本/索引

获取剑道下拉值的选定ID

我如何防止剑道下拉列表在角度 4+ 中更改 valueChange 或 selectionChange 事件的值