@ thebluefox telah merangkum yang paling penting. Anda juga terpaksa menggunakan JavaScript untuk membuat tombol itu berfungsi. Berikut ini SSCCE, Anda dapat menyalin 'tidak' tempel '
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2803532</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$('input.deletable').wrap('<span class="deleteicon" />').after($('<span/>').click(function() {
$(this).prev('input').val('').trigger('change').focus();
}));
});
</script>
<style>
span.deleteicon {
position: relative;
}
span.deleteicon span {
position: absolute;
display: block;
top: 5px;
right: 0px;
width: 16px;
height: 16px;
background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
cursor: pointer;
}
span.deleteicon input {
padding-right: 16px;
box-sizing: border-box;
}
</style>
</head>
<body>
<input type="text" class="deletable">
</body>
</html>
Contoh langsung di sini .
jQuery adalah dengan cara tidak diperlukan, itu hanya baik memisahkan logika yang diperlukan untuk peningkatan progresif dari sumber, tentunya Anda bisa juga pergi ke depan dengan polos HTML / CSS / JS:
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2803532, with "plain" HTML/CSS/JS</title>
<style>
span.deleteicon {
position: relative;
}
span.deleteicon span {
position: absolute;
display: block;
top: 5px;
right: 0px;
width: 16px;
height: 16px;
background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
cursor: pointer;
}
span.deleteicon input {
padding-right: 16px;
box-sizing: border-box;
}
</style>
</head>
<body>
<span class="deleteicon">
<input type="text">
<span onclick="var input = this.previousSibling; input.value = ''; input.focus();"></span>
</span>
</body>
</html>
Anda hanya berakhir dengan HTML yang jelek (dan JS yang kompatibel dengan crossbrowser;)).
Perhatikan bahwa ketika tampilan UI bukan rasa utama Anda, tetapi fungsinya, maka gunakan <input type="search">
saja <input type="text">
. Ini akan menampilkan tombol hapus (khusus browser) di browser yang mendukung HTML5.
class="fa fa-remove"
pada rentang bagian dalam untuk menampilkan ikon silang yang bagustop:
rentang anak dan pengaturandisplay: flex; align-items: center;
dalam rentang induk.Saat ini dengan HTML5, sangat sederhana:
Sebagian besar browser modern akan secara otomatis membuat tombol hapus yang dapat digunakan di lapangan secara default.
(Jika Anda menggunakan Bootstrap, Anda harus menambahkan override ke file css Anda untuk membuatnya ditampilkan)
Browser Safari / WebKit juga dapat memberikan fitur tambahan saat menggunakan
type="search"
, menyukairesults=5
danautosave="..."
, tetapi mereka juga menimpa banyak gaya Anda (misalnya tinggi, batas). Untuk mencegah penggantian tersebut, sambil tetap mempertahankan fungsi seperti tombol X, Anda dapat menambahkan ini ke css Anda:Lihat css-tricks.com untuk info lebih lanjut tentang fitur yang disediakan oleh
type="search"
.sumber
HTML5 memperkenalkan tipe input 'pencarian' yang saya yakini melakukan apa yang Anda inginkan.
<input type="search" />
Ini contoh nyata .
sumber
Lihat plugin jQuery-ClearSearch kami . Ini adalah plugin jQuery yang dapat dikonfigurasi - mengadaptasinya sesuai kebutuhan Anda dengan menata bidang input secara langsung. Cukup gunakan sebagai berikut:
Contoh: http://jsfiddle.net/wldaunfr/FERw3/
sumber
Anda tidak dapat benar-benar memasukkannya ke dalam kotak teks, hanya membuatnya seperti di dalamnya, yang sayangnya berarti beberapa css diperlukan: P
Teori membungkus input dalam sebuah div, mengambil semua batas dan latar belakang dari input, kemudian gaya div hingga terlihat seperti kotak. Kemudian, masukkan tombol Anda setelah kotak input dalam kode dan pekerjaan yang baik.
Setelah Anda membuatnya berfungsi;)
sumber
Saya mendapat solusi kreatif yang saya pikir Anda cari
https://jsfiddle.net/qdesign/xn9eogmx/1/
sumber
Tentu saja pendekatan terbaik adalah menggunakan yang semakin didukung
<input type="search" />
.Pokoknya untuk sedikit bersenang-senang pengkodean saya pikir itu bisa dicapai juga menggunakan tombol reset formulir, dan ini adalah hasil kerja (layak dicatat bahwa tidak dapat hidup input lain tetapi bidang pencarian dengan pendekatan ini, atau tombol reset akan menghapus mereka juga), tidak perlu javascript:
sumber
Mungkin solusi sederhana ini dapat membantu:
sumber
@Mahmoud Ali Kaseem
Saya baru saja mengubah beberapa CSS agar terlihat berbeda dan menambahkan fokus ();
https://jsfiddle.net/xn9eogmx/81/
sumber