2012-03-06 2 views
1

チェックボックスをオフにしたときに特定のフォーム入力をクリアする方法の基本例を教えていただけますか?私はいくつかのソリューションを試してきましたが、これを確実に動作させるようには思えません。私はボックスがチェックされていないときにのみこれが必要になります。これは私に問題を与えているようです。チェックボックスをオフにしたときに特定のフォーム要素をクリアする

+0

のですか? – Jivings

+0

私たちにいくつかのコードを教えてください。何が効いていないのですか? – MetalFrog

答えて

2

ラフの例では、...

<input type='checkbox' id='clear_text' /> 
<input type='text' id='text_box' value='Contents' /> 
<script> 
$(function(){ 
    $("#clear_text").click(function(){ 
     if(!$(this).is(":checked")){ //checks if the checkbox/this is selected or not 
      $("#text_box").val(""); //empty the input value 
     } else { } //nothing 
    }); 
}); 
</script> 
+1

'checked'ステータスが変更された後に、' click'(と 'change'、おそらくもっと良い選択肢です)イベントが発生します。 「それがチェックされている場合、クリックは「チェックを外す」」ということは間違っていることが分かります。また、 'this.checked'は完璧に動作します。' $(this)).is( ':checked') 'の必要はありません。 –

+0

はい、私はそれが私の元のコードだと思う、私はすぐにそれを編集しました。私は$(this).is( ":checked")の構文に似ています。それはうまく読みます:) – solarise

+0

構文が好きであればそれほど不必要ではありません。より多くのコードを書くことになります。つまり、オブジェクトを作成して関数呼び出しを実行することで、ゲインがゼロになります。 –

1

チェックボックスのonClick()で、チェックボックスの値を調べてから、フォームをクリアするなど、任意のアクションを実行します。これはあなたの必要性を満たしていますか?

1

非常に簡単な例かもしれないが、あなたが始めるために。 jQuery 1.7.1を使用します。 http://jsfiddle.net/fPKX8/

HTML:

<input id="in1" name="in1" value="pizza" /><br /> 
<input id="in2" name="in2" value="chips" /><br /> 
<input id="in3" name="in3" value="beer" /><br /> 

<input id="check1" name="check1" type="checkbox" /> 

のjQuery:

$('#check1').on('click', function() { 
    if (!$(this).is(':checked')) { 
     $('#in1, #in2').val(''); 
    } 
}); 
1
​$(document).ready(function(){ 
    $('#chk').live('change',function(){ 
    if(!$(this).is(':checked')) 
     $('input').val('');    
    }); 
})​;​ 

ここではあなたにトラブルを与えている一部の作業フィドルJSFiddle

+0

私は#chkを使っている他のいくつかのjと競合しているので、別の解決策を提示しなければなりませんでした。しかし、これは箱の外でこれは意図したとおりに正確に働いた。あなたの時間をありがとう! –

関連する問題