0

我有一个值为“8”的隐藏字段,我从我的 asp.net mvc 控制器返回 json 数据,其中 templateId 的值为 8。

“8”不是 8。那很好,但我如何比较这两个值?

在此处输入图像描述

4

5 回答 5

3

在 JavaScript 中,您可以将两个变量与类型检查或不进行类型检查进行比较

例如

 8 == '8' //true /* dont check type*/
 8=== '8'   //false /* check type*/

比较时不需要类型检查。所以你的代码可以正常工作。

既然你说你的代码不起作用。$("#TemplateId").text() 的值为'8'(显示在控制台中)。唯一可能的问题是 response.templateId 不等于 8。

于 2012-09-27T21:12:08.947 回答
3

你试过parseInt($('#TemplateId').text())吗?

于 2012-09-27T21:12:10.233 回答
2

您可以将parseInt()应用于从 text() 返回的字符串。

于 2012-09-27T21:12:05.927 回答
1

您始终可以使用“parseInt(str, 10)”将“8”解析为整数

于 2012-09-27T21:13:03.223 回答
0

而不是写:

if( response.templateId == $('#TemplateId').val())
{
    // never hit here
}

我这样做了,它奏效了:

var selectedTemplateId = $('#TemplateId').val();
if (response.templateId == selectedTemplateId)
{
   // it works
}

我也做了一个通用测试:8 和“8”是一样的:

if( 8 == "8")
{
    // always hit here
}
于 2012-09-27T22:14:14.360 回答