我需要将模型数据放入 JavaScript 变量中,并将其用作 int 来比较值。但我只能弄清楚如何以字符串形式获取模型数据,否则编译器会提示。
那么如何在 Javascript 中获取 max 和 taskBudgetHours 作为 int 变量?
<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 and remain on the screen
alert('There are only ' + max + ' hours left of the project hours.');
return false;
}
});
});
</script>
最佳答案
对于 max
,不要在其两边加上引号:
var max = <%: Model.Project.RemainingBudgetHours %>;
对于 taskBudgetHours
,请使用内置 JavaScript parseInt
功能:
var taskBudgetHours = parseInt($('#BudgetHours').val(), 10);
注意parseInt
使用基数参数;这可以防止例如“020”
被解析为八进制:
parseInt("020") === 16 // true!
关于asp.net - 来自 ASP.NET MVC 模型数据的 Javascript int 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663589/