0

キーボードでEnterをクリックしたときにモーダルウィンドウを表示するためのコードがあります:

  $(".search-input").keypress(function(e) {
    if(e.which == 13) {
      $('#screen').css({ opacity: 0.5, 'width':$(document).width(),'height':$(document).height()});
      $('#screen').show();
      $('#loading_modal').show();    
    }
  });

しかし、クラス.search-input値の入力が3未満の場合、モーダルウィンドウを表示しないようにカスタマイズする必要があります...

私はそうしようとします:

  $(".search-input").keypress(function(e) {
    if(e.which == 13) {
      if($(".search-input").value.length > 2) {
        $('#screen').css({ opacity: 0.5, 'width':$(document).width(),'height':$(document).height()});
        $('#screen').show();
        $('#loading_modal').show();    
      }
    }
  });

しかし、何らかの理由で機能しません(私の問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

trim()空白を削除するために使用し、val()

これを試して

  if($.trim($(this).val()).length > 2) {
      ......
于 2013-04-12T10:18:52.493 に答える
1

これは基本的に、テキストを何も置き換えません。

$(".search-input").value.replace(/{.*?}/g, '').length > 2

代わりにこれを試してください:

$.trim($(this).val().replace(/[^\w\s]/g, '')).length > 2

検索文字列に本当に文字だけが必要な場合は、次のようにします。

$(this).val().replace(/[^a-z]/gi, '').length > 2
于 2013-04-12T10:24:05.380 に答える