2

ここで見つけたものに基づいて、何時間もさまざまな方法を試してきましたが、役に立ちませんでした。誰かが私を正しい方向に向けることができますか? チェックボックスをオンまたはオフにするときに、確認をスローしてから、ユーザーの選択に基づいてチェックボックスをオンまたはオフにします。ありがとうございました!

$('input:checkbox').click(function(){
     var checked = $("input:checked").length; 
    if (checked == 0){ 
if(confirm('Are you sure you want to discontinue this program?')){
    (':checkbox:checked').removeAttr('checked');
}
    }  else

    { 
if(confirm('Are you sure you want to resume use of this program?'))            
(':checkbox:checked').attr('checked');
    } 

HTML

<table>
  <tr>
    <td><input name="input" type="checkbox" value="" /></td>
    <td>Because We Care</td>
   </tr>
      <tr>
                     <td><input name="" type="checkbox" value="" /></td>
                     <td>Some Unused Program</td>
                     </tr>

4

3 に答える 3

8

コードにいくつかの構文とロジックの欠陥があります。これを試してください:

$('input:checkbox').click(function(){
    var checked = $(this).is(':checked');
    if(checked) {
        if(!confirm('Are you sure you want to resume use of this program?')){         
            $(this).removeAttr('checked');
        }
    } else if(!confirm('Are you sure you want to discontinue this program?')){
        $(this).attr("checked", "checked");
    }
}​);​

JSFIDDLE

于 2012-08-06T16:43:52.077 に答える
1

リスナーが実行されると、チェックボックスはすでにオンまたはオフになっています。あなたがすべきことは:

  • ユーザーが何もしないことを確認したとき
  • ユーザーが何が行われたかを元に戻すことを確認しない場合
于 2012-08-06T16:39:16.090 に答える
0

これはまさにあなたが探しているものでなければなりません:

<!doctype html>
<html>
<input id="chkTest" type="checkbox" />
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $("#chkTest").change(function(evt){
        var attr = $(evt.target).attr("checked")
        if (typeof attr !== 'undefined' && attr !== false){
            alert("Checked");
        }
        else{
            alert("Not Checked");
        }
    });
</script>
</html>
于 2012-08-06T16:46:50.283 に答える