0

値が「8」の隠しフィールドがあり、templateId の値が 8 の asp.net mvc コントローラーから json データを返します。

「8」は 8 ではありません。問題ありませんが、両方の値を比較するにはどうすればよいですか?

ここに画像の説明を入力

4

5 に答える 5

3

JavaScript では、型チェックありまたは型チェックなしで 2 つの変数を比較できます

例えば

 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

text() から返された文字列にparseInt()を適用できます。

于 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 に答える