2016-09-06 45 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':6像素0;它会变成圆形的; ) –

+0

@impregnablefiend它从删除0删除后没有工作 –

回答

0

您可以更改:

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

到:

<div class="input-group"> 

为了您的JS,你需要将其包装成文档准备,防止默认事件:

$(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>