我正在尝试验证默认情况下是否选中了复选框。所以我添加了一个名为data-state="true"
的数据属性。稍后在Javascript中我使用以下代码:
value = ($(this).attr('data-state') === $(this).is(':checked')) ? $(this).attr('data-price') : 0;
但由于某种原因它总是出现0,我不确定我做错了什么。
答案 0 :(得分:1)
true !== "true"
你正在做一个布尔检查的字符串。
答案 1 :(得分:0)
而不是设置属性data-state
:
$(this).attr( 'data-state', $(this).prop( 'checked' ) );
我建议您使用data()
:
$(this).data( 'state', $(this).prop( 'checked' ) );
然后您可以按如下方式阅读和比较:
value = ($(this).data('state') == $(this).prop('checked')) ? $(this).data('price') : 0;