【问题标题】:JavaScript: how to trigger update form after setting inputJavaScript:设置输入后如何触发更新表单
【发布时间】:2021-09-15 18:15:51
【问题描述】:

我正在编写一个简单的 App Inventor 程序来填充 Covid-19 school health check page。我一直在纠结选择学校。通常您输入学校名称,页面会查找字符串匹配,然后您从字符串匹配的学校列表中进行选择。我可以简单地手动设置字段,但表单的其余部分不会更新。我知道我必须触发更新,但我无法确定此页面的工作原理。

image of school selection

typing in part of school name

在 Chrome 控制台中,我可以执行以下操作:

x = document.getElementsByClassName("k-textbox")
x[1].value = "Horace"

从图片中可以看到文字更新为“Horace”,但结果没有更新。我应该怎么做才能强制更新,以便结果列表显示正确的匹配?另外,如何查询匹配结果,以便确认我的输入足够明确以返回单个匹配项?仅供参考,此表单输入页面将对用户隐藏。

【问题讨论】:

  • 您的问题令人困惑。 “表格的其余部分不更新”是什么意思?选择学校后,您想要填充楼层吗?您能否提供一个最小的、可重现的和有效的问题示例?您的 Kendo Dropdown 似乎表现正常。
  • 该框的目的是输入部分学校名称,然后从一个小的过滤列表中选择实际的学校名称。我的代码只是对值进行硬编码,但过滤后的结果不会更新。我怀疑我需要告诉表单,即使没有按键事件,表单实际上也发生了变化。

标签: kendo-ui


【解决方案1】:

您可以获取 kendoDropDownList,从它的 dataSource 调用 read 方法,然后传递您想要的 locationName 值。这不会在文本框中设置文本,但会根据需要过滤您的列表。

要进行测试,请单击输入,打开控制台,然后运行以下命令:

$('#Location').data('kendoDropDownList').dataSource.read({ locationName: 'horace' })

【讨论】:

    猜你喜欢
    • 2017-08-20
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 2021-03-08
    • 2021-05-05
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多