【问题标题】:Setting default value of a dropDownList设置下拉列表的默认值
【发布时间】:2013-10-23 12:40:18
【问题描述】:

我一直在使用它在剑道网格上设置默认文本表单输入,效果很好。

 e.container.find("input[name=policy]").val(lender_policy).change();

但是,如果我尝试设置下拉列表的默认值,如下所示,它会设置下拉列表的值,但会将空白数据插入网格和数据库。我猜它是因为可能需要像文本输入一样调用 change() 但我不确定如何做到这一点。

 e.container.find("input[name=lender]").data("kendoDropDownList").value(lender);

对此的任何帮助都会很棒。

【问题讨论】:

  • 您的问题有什么进展吗?

标签: kendo-ui kendo-combobox


【解决方案1】:

1) 对于下拉列表使用select

var dropdownlist = $("#dropdownlist").data("kendoDropDownList");
dropdownlist.select(1);

(有不同的选项如何选择特定的项目。)

带有下拉列表的网格edit 事件示例,

 edit: function(e) {
    if (e.model.isNew()) {
        var ddl = e.container.find("input[name=id]").data("kendoDropDownList");
        ddl.select(1);
    }
  } 

2) 这是在您的网格中使用custom editor 的方法,以防您的下拉列表尚未填充。

3) 你也可以使用OptionLabel

【讨论】:

    【解决方案2】:

    试试这个,希望它会工作:
    只需将其添加到您的链中。 .Value("YOUR_VALUE")。

    【讨论】:

    • 不确定您的意思。所以它读取 e.container.find("input[name=lender]").data("kendoDropDownList").value(lender).Value(lender);
    • 我认为它区分大小写 .value 不起作用。将其替换为。价值。
    • 谢谢,但我试过了,它会引发类型问题错误。 .value() 确实设置了下拉列表的值。问题是当你点击插入它时会发布一个空白值,因为它现在没有改变。其中我的文本输入是使用 e.container.find("input[name=policy]").val(lender_policy).change();它具有 change() 函数,该函数必须告诉网格发生了变化。
    • 通过使用 val(lender_policy) 您在下拉列表中设置了一些值,以便稍后保存您应该再次使用。 .val() 或 .text() 找出选定的值。
    • 再次感谢。我想你会感到困惑。我可以使用 'e.container.find("input[name=policy]").val(lender_policy).change()' 来设置表单的文本输入并且它可以正常发布。我不能用它来设置下拉列表,因为它不起作用所以我使用了'e.container.find("input[name=lender]").data("kendoDropDownList").value(lender)'。但这会设置下拉列表值,但会发布空数据,因为网格没有注意到更改。
    【解决方案3】:

    如果.Value("YOUR_VALUE") 不起作用(在 2012 年的某些较旧的剑道版本中)。请改用.HtmlAttributes(new { value = "YOUR_VALUE" })

    【讨论】:

      猜你喜欢
      • 2020-07-06
      • 2014-07-28
      • 2016-11-16
      • 2016-09-16
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      相关资源
      最近更新 更多