2017-10-07 1 views
1

機能を呼び出すことなく、チェックボックスのステータスを取得する方法を教えてください。onclickまたはonchangeイベントのないチェックボックスのステータス

これは、フォームに必要な特定の複雑な検証用です。

私はいつもその状態を聴き続けたいと思っています。

必要なもの

  • その状態checked
  • 状況私は、イベントを変更する、私はそれに関数を呼び出すことなく、その状態を確認したい、これは

    <input type="checkbox" onchange="showAddress3(this)" id="askAddress3">Call my friend to get the address 
    
        <script type="text/javascript"> 
    
         function showAddress3() { 
          if ($('#askAddress3').is(":checked")) { 
           alert("Checkbox is checked."); 
          } else if ($('#askAddress3').is(":not(:checked)")) { 
           alert("Checkbox is unchecked."); 
          } 
         } 
    
        </script> 
    

    の作品知っているときunchecked

、何かのようなもの

<input type="checkbox" id="askAddress3">Call my friend to get the address 

    <script type="text/javascript"> 

      if ($('#askAddress3').is(":checked")) { 
       alert("Checkbox is checked."); 
      } else if ($('#askAddress3').is(":not(:checked)")) { 
       alert("Checkbox is unchecked."); 
      } 


    </script> 

これはページが読み込まれているときにのみ機能し、切り替えたときには機能しません。どんな提案や回避策も非常に役立ちます。以下

+0

ただ、 '$( '#askAddress3')を呼び出し( ":チェックする")である。'あなたが状態を知っておく必要があるとき...あぁ – Andreas

+0

イベントリスナーは、このような状況のため、正確ですあなたがイベントを聴き続けたい時に。より良い解決策はありません。あなたのHTMLに 'onchange'属性を持たせたくない場合は、javascriptでイベントリスナーを追加できますが、結果は同じになります。 – Walk

+0

機能なしでこれを行う方法はありません。しかし、たとえば、ユーザーが「送信」ボタンをクリックしたときにその値を得ることができます。「リアルタイム」にはなりませんが、入力の最終値を取得するために機能します(入力で取得します)。値) – pharesdiego

答えて

1

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" id="askAddress3">Call my friend to get the address 
 

 
<script type="text/javascript"> 
 
    $('#askAddress3').on('change', function() { 
 
    if ($('#askAddress3').is(":checked")) { 
 
     alert("Checkbox is checked."); 
 
    } else if ($('#askAddress3').is(":not(:checked)")) { 
 
     alert("Checkbox is unchecked."); 
 
    } 
 
    }); 
 
</script>

+0

これはうまくいってくれました。 –

+0

@FayazAralikattiそれは私の喜びです:) – zynkn

1

私の事は、あなたが探しているものでしょうか?

onchange=''を入力タグにハードコードしないで変更をトリガーするには?

$("input[type='checkbox']").on("change", function() { 
 
    if ($('#askAddress3').is(":checked")) { 
 
     alert("Checkbox is checked."); 
 
    } else if ($('#askAddress3').is(":not(:checked)")) { 
 
     alert("Checkbox is unchecked."); 
 
    } 
 
}) ;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" id="askAddress3">Call my friend to get the address

+0

いいえ、これは動作しません –

+0

私はトグルでチェックボックスのステータスを取得する別の方法はないと思います –

関連する問題