我需要创建一个Javascript验证,将文本框中的值与模型中的值进行比较。
($("#Description").val() != "<%= Model.Description %>")
描述是模型中的字符串,上面的代码可以正常工作。
($("#Weight").val() != <%= Model.Weight %>)
权重是一个int,并且工作正常。
最后,如果我尝试检查bool值,它根本不起作用。有什么想法吗?
($("#PackingFlag").is(':checked') != "<%= Model.PackingFlag %>")
答案 0 :(得分:0)
$("#PackingFlag").is(':checked')
返回一个布尔。
"<%= Model.PackingFlag %>"
是一个字符串(因此是"
)
bool != string
始终返回true。
如果Model.PackingFlag
返回字符串true
或false
,则删除"
会导致正确的比较:
($("#PackingFlag").is(':checked') != <%= Model.PackingFlag %>)
客户端导致:
($("#PackingFlag").is(':checked') != true)
或者
($("#PackingFlag").is(':checked') != false)
答案 1 :(得分:0)
由于比较的右侧是一个字符串,您可以尝试将左侧转换为字符串。
(String($("#PackingFlag").is(':checked')) != "<%= Model.PackingFlag %>")