4

jqueryでチェックボックス操作をしようとしています。モーダルポップアップとチェックボックスがあり、jqueryを使用してチェックモードを操作しています。True または False のいずれかを持つ変数があるので、True の場合はチェックし、それ以外の場合はチェックを外します。しかし、私の場合、値が False の場合でも、チェックボックスはオンのままです。これは私が使用しているコードです:

$(document).on("click", ".open-EditCC", function () {            
            var life = $(this).data('life');           
            $('#<%=chkLife.ClientID%>').attr('checked', life);
            $('#editCC').modal('show');
          });

life 変数は True または False のいずれかになりますが、チェックボックスがチェックされているときは常にブレークポイントを設定すると、値が False であることがわかります。私は何が間違っているのですか?前もって感謝します、 ラツィアーレ

4

2 に答える 2

4

checked 属性の値が"checked"存在するか、checked 属性が存在しないため、これを使用します。

// This is assuming life has the string value of "True" or "False"
// if it's a boolean change to if (life)
if (life === 'True') {
    $('#<%=chkLife.ClientID%>').attr('checked', 'checked');
} else {
    $('#<%=chkLife.ClientID%>').removeAttr('checked');
}
于 2013-02-07T20:57:39.447 に答える
0

必要に応じて属性を削除するだけで十分だと思います。

if(life){
 $('#<%=chkLife.ClientID%>').attr('checked', 'checked');
}
else

{
$('#<%=chkLife.ClientID%>').removeRttr('checked');
}
于 2013-02-07T20:59:53.070 に答える