使用Jquery

时间:2017-07-21 16:36:53

标签: jquery asp.net asp.net-mvc kendo-ui

我只有一个简单的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;

感谢大家的回复,感谢您的帮助。不太确定发生了什么。

2 个答案:

答案 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>