检查数据属性是否与isChecked匹配

时间:2014-06-01 21:25:09

标签: javascript jquery

我正在尝试验证默认情况下是否选中了复选框。所以我添加了一个名为data-state="true"的数据属性。稍后在Javascript中我使用以下代码:

value = ($(this).attr('data-state') === $(this).is(':checked')) ? $(this).attr('data-price') : 0;

但由于某种原因它总是出现0,我不确定我做错了什么。

2 个答案:

答案 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;