【问题标题】: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。我很抱歉错字 - 我实际上是在引用同一个控件。至于设置选定的值,我这样做是因为它需要在服务器端设置。

标签: asp.net kendo-ui


【解决方案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 位。从我的小提琴中,您可以看到您声称的内容不起作用,其行为方式是您希望它在页面上没有任何其他内容的行为。这意味着您的问题在其他地方。
  • 很遗憾我做不到,但感谢您的关注。同意页面上的其他内容可能导致问题。
猜你喜欢
  • 2017-01-03
  • 2017-11-17
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-08
相关资源
最近更新 更多