2016-09-06 7 views
1

ボタンをクリックしたときに表示されるテキストボックスを作成しようとしています。しかし、ボタンをクリックすると、ページが読み込まれ、テキストボックスは表示されません。何が問題なの? typeボタンを変更するか、preventDefaultを使用してページが読み込まれないようにする必要がありますか?ボタン上で検索テキストボックスを切り替えるクリックしない

マイコード:

$("#search-button").click(function(){ 
 
    $("#search").slideToggle("slow"); 
 
});
.search-bar { 
 
    background: transparent; 
 
    border: none; 
 
    border-bottom: 1px solid #000000; 
 
    /*padding: 2px 5px;*/ 
 
    display: block; 
 
    width: 100%; 
 
    height: 34px; 
 
    padding: 6px 12px; 
 
    font-size: 14px; 
 
    line-height: 1.42857143; 
 
    color: #555; 
 
    background-image: none; 
 
} 
 
.btn-circle { 
 
    width: 30px; 
 
    height: 30px; 
 
    text-align: center; 
 
    padding: 6px 0; 
 
    font-size: 12px; 
 
    line-height: 1.428571429; 
 
    border-radius: 50%; 
 
    background-color: #00BCD4; 
 
    color: white; 
 
} 
 
.btn-circle:hover{ 
 
    background-color: white !important; 
 
    color: #00BCD4; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="nav navbar-nav navbar-right"> 
 
    <li> 
 
    <form class="navbar-form" role="search"> 
 
     <div class="input-group"> 
 
     <input type="text" class="search-bar" placeholder="Search" name="search" id="search" style="display: none;"> 
 
     <div class="input-group-btn"> 
 
      <button class="btn btn-default btn-circle" type="submit" id="search-button"><i class="fa fa-search"></i></button> 
 
     </div> 
 
     </div> 
 
    </form> 
 
    </li> 
 
</ul>

この問題で私を助けてください。検索ボタンを丸くする方法は? (今は右からのラウンドのみ)。

ありがとう

+0

パディングで '0'を削除するだけです。6px 0;それは丸くなるでしょう。 ) –

+0

@impregnablefiendパディングから0を取り除いた後に仕事が終わっていない –

答えて

0

あなたは変更することがあります。

<div class="input-group-btn"> 

に:あなたのjsのために

<div class="input-group"> 

準備ができた文書にそれをラップし、デフォルトのイベントを防ぐために必要があります。

$(function() { 
 
    $("#search-button").click(function (e) { 
 
    e.preventDefault(); 
 
    $("#search").slideToggle("slow"); 
 
    }); 
 
});
.search-bar { 
 
    background: transparent; 
 
    border: none; 
 
    border-bottom: 1px solid #000000; 
 
    /*padding: 2px 5px;*/ 
 
    display: block; 
 
    width: 100%; 
 
    height: 34px; 
 
    padding: 6px 12px; 
 
    font-size: 14px; 
 
    line-height: 1.42857143; 
 
    color: #555; 
 
    background-image: none; 
 
} 
 
.btn-circle { 
 
    width: 30px; 
 
    height: 30px; 
 
    text-align: center; 
 
    padding: 6px 0; 
 
    font-size: 12px; 
 
    line-height: 1.428571429; 
 
    border-radius: 50%; 
 
    background-color: #00BCD4; 
 
    color: white; 
 
} 
 
.btn-circle:hover{ 
 
    background-color: white !important; 
 
    color: #00BCD4; 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<ul class="nav navbar-nav navbar-right"> 
 
    <li> 
 
     <form class="navbar-form" role="search"> 
 
      <div class="input-group"> 
 
       <input type="text" class="search-bar" placeholder="Search" name="search" id="search" style="display: none;"> 
 
      </div> 
 
      <div class="input-group"> 
 
       <button class="btn btn-default btn-circle" type="submit" id="search-button"><i class="fa fa-search"></i></button> 
 
      </div> 
 
     </form> 
 
    </li> 
 
</ul>

+0

それは機能しますが、表示されるテキストボックスは、ボタンの下に移動するコードに従ってインラインにする必要があります。 –

+0

@MannuNayyarボタンを含む入力グループの外に移動します。お知らせ下さい。スニペットが更新されました。 – gaetanoM

+0

それは今働いた。 :) –

0

あなたはさわやかからページを停止するためにe.preventDefault();を追加する必要があります。

$("#search-button").click(function(e){ 
    $("#search").slideToggle("slow"); 
    e.preventDefault(); 
}); 
0

これを試してください。

$(document).ready(function(){ 
 
$("#search-button").click(function(){ 
 
    $("#search").fadeIn(); 
 
$(this).parent().addClass('input-group-btn'); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="nav navbar-nav navbar-right"> 
 
<li> 
 
<form class="navbar-form" role="search"> 
 
<div class="input-group"> 
 
<input type="text" class="form-control" placeholder="Search" name="search" id="search" style="display:none;"> 
 
<div> 
 
<button class="btn btn-default" type="button" id="search-button">Go <span class="glyphicon glyphicon-search" aria-hidden="true"></span></button> 
 
</div> 
 
</div> 
 
</form> 
 
</li> 
 
</ul>

関連する問題