値が「8」の隠しフィールドがあり、templateId の値が 8 の asp.net mvc コントローラーから json データを返します。
「8」は 8 ではありません。問題ありませんが、両方の値を比較するにはどうすればよいですか?
値が「8」の隠しフィールドがあり、templateId の値が 8 の asp.net mvc コントローラーから json データを返します。
「8」は 8 ではありません。問題ありませんが、両方の値を比較するにはどうすればよいですか?
JavaScript では、型チェックありまたは型チェックなしで 2 つの変数を比較できます
例えば
8 == '8' //true /* dont check type*/
8=== '8' //false /* check type*/
比較中に型チェックは必要ありません。あなたのコードは正常に動作します。
あなたのコードが機能していないと言っているので。$("#TemplateId").text() の値は '8' です (コンソールに表示)。考えられる唯一の問題は、response.templateId が 8 に等しくないことです。
試しましたparseInt($('#TemplateId').text())
か?
text() から返された文字列にparseInt()を適用できます。
「parseInt(str, 10)」を使用すると、いつでも「8」を整数に解析できます。
書く代わりに:
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
}