开发者

Javascript int variable from ASP.NET MVC Model data?

I need to get model data into a javascript variable and use it as an int to compare values. But I can only figure out how to get the model data as strings, otherwise the compiler complains.

So how can I get the max and taskBudgetHours as int variables in the Javascript?

<script type="text/javascript">
    $(document).ready(function () {
        $("#taskForm").submit(function (e) {
            var taskBudgetHours = $('#BudgetHours').val();
            var max = '<%: Model.Project.RemainingBudgetHours %>';

            alert(taskBudgetHours);
            alert(max);

            if (taskBudgetHours <= max) { //This doesn't work, seems to treat it as strings...
                return true;
            }
            else {
                //Prevent the submit event开发者_StackOverflow and remain on the screen
                alert('There are only ' + max + ' hours left of the project hours.');
                return false;
            }
        });
    });
</script>


For max, don't put quotes around it:

var max = <%: Model.Project.RemainingBudgetHours %>;

For taskBudgetHours, use the built-in JavaScript parseInt function:

var taskBudgetHours = parseInt($('#BudgetHours').val(), 10);

Note the use of the radix parameter for parseInt; this prevents e.g. "020" as being parsed as octal:

parseInt("020") === 16 // true!


I would try to assign the Model.Project.RemainingBudgetHours to a hidden field on page load and then get its value as you do with the taskBudgetHours. Also not quite sure but you can try:

var max = parseInt('<%: Model.Project.RemainingBudgetHours %>') 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜