У некоторых проблем с загрузкой, поэтому некоторая помощь будет потрясающей. Благодаря
Что бы я хотел: (верхняя часть)
![enter image description here]()
Мой текущий код:
<div class="form-group">
<input type="text"
class="form-control"
id="findJobTitle"
name="findJobTitle"
placeholder="Job Title, Keywords"
onkeyup="showResult()">
</div>
Текущая скриншот:
![enter image description here]()
Ответ 1
Чтобы получить что-то вроде этого
![input with clear button]()
с Bootstrap 3 и Jquery используйте следующий код HTML:
<div class="btn-group">
<input id="searchinput" type="search" class="form-control">
<span id="searchclear" class="glyphicon glyphicon-remove-circle"></span>
</div>
и некоторые CSS:
#searchinput {
width: 200px;
}
#searchclear {
position: absolute;
right: 5px;
top: 0;
bottom: 0;
height: 14px;
margin: auto;
font-size: 14px;
cursor: pointer;
color: #ccc;
}
и Javascript:
$("#searchclear").click(function(){
$("#searchinput").val('');
});
Конечно, вам нужно написать больше Javascript для любой функциональности, в которой вы нуждаетесь, например. скрыть "x", если вход пуст, сделать запросы Ajax и так далее. См. http://www.bootply.com/121508
Ответ 2
Супер-простое решение HTML 5:
<input type="search" placeholder="Search..." />
Ответ 3
Я попытался избежать слишком большого пользовательского CSS и после прочтения некоторых других примеров я объединил идеи и получил это решение:
<div class="form-group has-feedback has-clear">
<input type="text" class="form-control" ng-model="ctrl.searchService.searchTerm" ng-change="ctrl.search()" placeholder="Suche"/>
<a class="glyphicon glyphicon-remove-sign form-control-feedback form-control-clear" ng-click="ctrl.clearSearch()" style="pointer-events: auto; text-decoration: none;cursor: pointer;"></a>
</div>
Поскольку я не использую JavaScript для начальной загрузки, просто CSS вместе с Angular, я не нуждаюсь в том, чтобы классы имели ясное и четкое управление, и я реализовал функцию clear в моем контроллере AngularJS. С помощью бутстрапа JavaScript это возможно без собственного JavaScript.
Ответ 4
Спасибо, что ваше решение было очень чистым. Я использовал горизонтальные формы бутстрапа и сделал пару модификаций, чтобы разрешить один обработчик и сформировать css.
html: - ОБНОВЛЕНО, чтобы использовать обратную связь Bootstrap и обратную связь с форматом
<div class="container">
<form class="form-horizontal">
<div class="form-group has-feedback">
<label for="txt1" class="col-sm-2 control-label">Label 1</label>
<div class="col-sm-10">
<input id="txt1" type="text" class="form-control hasclear" placeholder="Textbox 1">
<span class="clearer glyphicon glyphicon-remove-circle form-control-feedback"></span>
</div>
</div>
<div class="form-group has-feedback">
<label for="txt2" class="col-sm-2 control-label">Label 2</label>
<div class="col-sm-10">
<input id="txt2" type="text" class="form-control hasclear" placeholder="Textbox 2">
<span class="clearer glyphicon glyphicon-remove-circle form-control-feedback"></span>
</div>
</div>
<div class="form-group has-feedback">
<label for="txt3" class="col-sm-2 control-label">Label 3</label>
<div class="col-sm-10">
<input id="txt3" type="text" class="form-control hasclear" placeholder="Textbox 3">
<span class="clearer glyphicon glyphicon-remove-circle form-control-feedback"></span>
</div>
</div>
</form>
</div>
JavaScript:
$(".hasclear").keyup(function () {
var t = $(this);
t.next('span').toggle(Boolean(t.val()));
});
$(".clearer").hide($(this).prev('input').val());
$(".clearer").click(function () {
$(this).prev('input').val('').focus();
$(this).hide();
});
Пример:
http://www.bootply.com/130682
Ответ 5
Угловой ответ /UI -Bootstrap
- Используйте Bootstrap has-feedback для отображения значка внутри поля ввода.
- Убедитесь, что значок имеет
style="cursor: pointer; pointer-events: all;"
- Используйте
ng-click
, чтобы очистить текст.
JavaScript (app.js)
var app = angular.module('plunker', ['ui.bootstrap']);
app.controller('MainCtrl', function($scope) {
$scope.params = {};
$scope.clearText = function() {
$scope.params.text = null;
}
});
HTML (index.html snippet)
<div class="form-group has-feedback">
<label>text box</label>
<input type="text"
ng-model="params.text"
class="form-control"
placeholder="type something here...">
<span ng-if="params.text"
ng-click="clearText()"
class="glyphicon glyphicon-remove form-control-feedback"
style="cursor: pointer; pointer-events: all;"
uib-tooltip="clear">
</span>
</div>
Здесь plunker: http://plnkr.co/edit/av9VFw?p=preview
Ответ 6
Сделайте это с помощью встроенных стилей и script:
<div class="btn-group has-feedback has-clear">
<input id="searchinput" type="search" class="form-control" style="width:200px;">
<a
id="searchclear"
class="glyphicon glyphicon-remove-circle form-control-feedback form-control-clear"
style="pointer-events:auto; text-decoration:none; cursor:pointer;"
onclick="$(this).prev('input').val('');return false;">
</a>
</div>
Ответ 7
Вот мое рабочее решение с поиском и четким значком для Angularjs\Bootstrap с CSS.
<div class="form-group has-feedback has-clear">
<input type="search" class="form-control removeXicon" ng-model="filter" style="max-width:100%" placeholder="Search..." />
<div ng-switch on="!!filter">
<div ng-switch-when="false">
<span class="glyphicon glyphicon-search form-control-feedback"></span>
</div>
<div ng-switch-when="true">
<span class="glyphicon glyphicon-remove-sign form-control-feedback" ng-click="$parent.filter = ''" style="pointer-events: auto; text-decoration: none;cursor: pointer;"></span>
</div>
</div>
</div>
------
CSS
/* hide the built-in IE10+ clear field icon */
.removeXicon::-ms-clear {
display: none;
}
/* hide the built-in chrome clear field icon */
.removeXicon::-webkit-search-decoration,
.removeXicon::-webkit-search-cancel-button,
.removeXicon::-webkit-search-results-button,
.removeXicon::-webkit-search-results-decoration {
display: none;
}
Ответ 8
Не связывайтесь с идентификатором элемента, просто используйте элемент "Предыдущий" для очистки.
CSS
.clear-input > span {
position: absolute;
right: 24px;
top: 10px;
height: 14px;
margin: auto;
font-size: 14px;
cursor: pointer;
color: #AAA;
}
JavaScript:
function $(document).ready(function() {
$(".clear-input>span").click(function(){
// Clear the input field before this clear button
// and give it focus.
$(this).prev().val('').focus();
});
});
Разметка HTML, используйте столько, сколько хотите:
<div class="clear-input">
Pizza: <input type="text" class="form-control">
<span class="glyphicon glyphicon-remove-circle"></span>
</div>
<div class="clear-input">
Pasta: <input type="text" class="form-control">
<span class="glyphicon glyphicon-remove-circle"></span>
</div>
Ответ 9
Поместите изображение (значок отмены) с абсолютным положением, отрегулируйте верхнее и левое свойства и вызовите метод onclick, которое очистит поле ввода.
<div class="form-control">
<input type="text" id="inputField" />
</div>
<span id="iconSpan"><img src="icon.png" onclick="clearInputField()"/></span>
В css позиция span соответственно,
#iconSpan {
position : absolute;
top:1%;
left :14%;
}