2

フォームの入力値に基づいてdivを表示または非表示にするにはどうすればよいですか。具体的には、その値が正の場合。1つのdivを表示したい。それ以外の場合は、別のdivを表示したいと思います。

これが私が実際に欲しいより複雑なものです。form1が10,000より大きく、form2がゼロより小さい場合。この最初のdivを表示します(両方が満たされている場合)。フォーム1の条件が満たされ、フォーム2が満たされない場合(フォーム2は正の数)、この2番目のdivを表示します。この3番目のdivを表示する

4

4 に答える 4

3

divに次のものがあると仮定しましょう。

   <div class="show_when_more">
     Foo 
  </div>

   <div class="show_when_less">
     Bar
   </div>

そして、あなたが見たい次の入力:

   <input type="text" class="to_watch"/>

次に、次のJavascriptがそれを行います(これを機能させるにはjqueryが必要です)。

   $('input.to_watch').on('change', function(){
       if($(this).val()>=1000){
           $('div.show_when_more').css('display', 'block');
           $('div.show_when_less').css('display', 'none');
       } else {
           $('div.show_when_more').css('display', 'none');
           $('div.show_when_less').css('display', 'block');
       }
    });

これは、他のタイプのセレクターでも機能します(たとえば、ID、要素タイプなど)

于 2013-01-16T06:56:21.850 に答える
0

これがロジックです。プロジェクトに適用するだけです。

var value = document.getElementById('input').value;

if(value === 1000) {
//show the first div
}
else {
//show the second div
}
于 2013-01-16T06:52:30.990 に答える
0

それが正であるかどうかを確認しようとしている場合は、それが> = 0(または目的によっては1)であるかどうかを確認できます。

数値のチェックを行うときは、最初にparseint()を実行することをお勧めします。

ifステートメントでそれを投げます:

if (value >= 0) { then show one div } else { show a different div }
于 2013-01-16T06:59:00.970 に答える
0

私はあなたが以下のようなものを探していると思います:

$(function() {
  if(isNaN(parseInt($("#in").val())))
  { 
   $("#divtobeshown").show();
  }
  else {
     $("#divtobehidden").hide();
  }
});


<form id="sform">
  <input value="" id="in" >
</form>

JSFIDDLEの簡単なイラスト

于 2013-01-16T07:16:05.650 に答える