我有一个Kendo DropdDownList似乎运行正常,它从ViewData获取项目列表并完美显示它们。
.BindTo((System.Collections.IEnumerable)ViewData["modulos"])
.DataTextField("Codmodulo")
然后我调用控制器(通过TypeScript)并尝试向他传递所选项目的文本,如下所示:
Codmodulo: $("#funcionesDropDownList").text()
但由于某种原因,它总是返回一个空字符串(""),而
Codmodulo: $("#funcionesDropDownList").val()
工作正常,给我所需的价值。这昨天对我来说很好。什么想法可能是错的?
英语不是我的第一语言,请随时询问更多详情。
答案 0 :(得分:1)
$("#funcionesDropDownList")
是下拉列表中隐藏的输入HTML元素,它保留了它的值。
text()
方法返回放置在您调用它的DOM元素内的文本。因此,如果您为没有内部文本的元素调用它,例如:
<input id="funcionesDropDownList" value="abc" data-role="dropdownlist"
style="display: none;" />
你会得到空文。
val()
方法返回元素的value属性元素的值(在本例中为abc),因此它返回正确的值。
要使用KendoUI API获取下拉列表的值,您可以使用以下代码:
var listValue = $("#funcionesDropDownList").data("kendoDropDownList").value();
您可以在KendoUI site上了解有关API的信息。
答案 1 :(得分:0)
.text()
获取匹配元素集中每个元素的组合文本内容
和.val()
获取集合
中第一个元素的当前值
DropdDownList
生成input
个html元素,输入没有内容。文本存储在值中。
如果要从其他(非形式)标签获取文本,可以使用text()函数。