我只有一个简单的Kendo NumericTextBox,它将存储一个int。我需要知道的是如何获取此值并使用Jquery将其分配给javascript变量。
这是我的Kendo NumericTextBox:
<div id="Status" style="display: none">
@Html.Kendo().NumericTextBoxFor(m => m.RequestStatus)
</div>
我试过了:
var status = $("#Status").val();
var status = $("#Status").data("kendoNumericTextBox").value();
我尝试将其添加到NumericTextBox:
.HtmlAttributes(new { @id = "Status" })
还尝试添加:
.Name("Status")
我甚至尝试过更换&#34; Status&#34;使用变量名称&#34; RequestStatus&#34;。
我看了一遍,但找不到真正有用的东西。
编辑:
我想出了一个解决方案。
我已将该函数移至ajax调用,其中获取了部分视图的所有值。从那里我可以使用:
var status = data.Data[0].RequestStatus;
感谢大家的回复,感谢您的帮助。不太确定发生了什么。
答案 0 :(得分:1)
它应该工作。我能想到的只是我们需要将那些与Kendo相关的脚本放在文档就绪函数中。
@Html.Kendo().NumericTextBoxFor(m => m.RequestStatus)
<script type="text/javascript">
$(function() {
var status = $("#@Html.IdFor(model => model.RequestStatus)")
.data("kendoNumericTextBox").value();
console.log(status);
});
</script>
答案 1 :(得分:1)
检查出来
在您的代码中,文本框未显示,因为在css中显示:无。
.cshtml
@(Html.Kendo().NumericTextBoxFor(m=>m.RequestStatus)
.HtmlAttributes(new {id="Status"})
)
.js
<script type="text/javascript">
$(document).ready(function () {
var status = $("#Status").data("kendoNumericTextBox").value();
alert(status);
});
</script>