Apakah ada cara cepat untuk membuat elemen teks input dengan ikon di sebelah kanan untuk menghapus elemen input itu sendiri (seperti kotak pencarian google)?
Saya melihat sekeliling tetapi saya hanya menemukan cara menempatkan ikon sebagai latar belakang elemen input. Apakah ada plugin jQuery atau yang lainnya?
Saya ingin ikon di dalam elemen teks input, seperti:
--------------------------------------------------
| X|
--------------------------------------------------
javascript
jquery
html
css
Giovanni Di Milia
sumber
sumber
Jawaban:
Tambahkan
type="search"
input Anda. Dukungan ini cukup baik tetapi tidak akan berfungsi di IE <10
Input yang dapat dihapus untuk browser lama
Jika Anda memerlukan dukungan IE9 di sini ada beberapa solusi
Menggunakan standar
<input type="text">
dan beberapa elemen HTML:Hanya menggunakan a
<input class="clearable" type="text">
(Tidak ada elemen tambahan)atur
class="clearable"
dan mainkan dengan gambar latar belakangnya:Demo jsBin
Caranya adalah dengan mengatur beberapa padding kanan (saya menggunakan 18px) ke
input
dan mendorong gambar latar kanan, keluar dari pandangan (saya menggunakanright -10px center
).Padding 18px itu akan mencegah teks bersembunyi di bawah ikon (saat terlihat).
jQ akan menambahkan kelas
x
(jikainput
memiliki nilai) yang menunjukkan ikon yang jelas.Sekarang yang kita butuhkan adalah menargetkan dengan jQ input dengan kelas
x
dan mendeteksimousemove
apakah mouse ada di dalam area 18px "x"; jika di dalam, tambahkan kelasonX
.Mengklik
onX
kelas menghapus semua kelas, mengatur ulang nilai input dan menyembunyikan ikon.7x7px gif:
String Base64:
sumber
.on('touchstart click', '.onX', ...
untuk.on('touchstart click', '.onX, .x', ...
membuatnya bekerja pada iOS.Bisakah saya menyarankan, jika Anda setuju dengan ini terbatas pada browser yang mendukung html 5, cukup gunakan:
Demo JS Fiddle
Harus diakui, di Chromium (Ubuntu 11.04), ini memang mengharuskan ada teks di dalam
input
elemen sebelum gambar / fungsi teks yang jelas akan muncul.Referensi:
sumber
Anda dapat menggunakan tombol reset yang ditata dengan gambar ...
Lihat beraksi di sini: http://jsbin.com/uloli3/63
sumber
Saya telah membuat kotak teks yang dapat dihapus hanya dengan CSS. Tidak memerlukan kode javascript untuk membuatnya berfungsi
di bawah ini adalah tautan demo
http://codepen.io/shidhincr/pen/ICLBD
sumber
Menurut MDN ,
<input type="search" />
saat ini didukung di semua browser modern:Namun, jika Anda menginginkan perilaku berbeda yang konsisten di seluruh browser, berikut adalah beberapa alternatif ringan yang hanya memerlukan JavaScript:
Opsi 1 - Selalu tampilkan 'x': (contoh di sini)
Opsi 2 - Hanya menampilkan 'x' saat melayang di atas bidang: (contoh di sini)
Opsi 3 - Hanya menampilkan 'x' jika
input
elemen memiliki nilai: (contoh di sini)sumber
Karena tidak ada solusi yang beterbangan memenuhi persyaratan kami, kami menghasilkan plugin jQuery sederhana bernama jQuery-ClearSearch -
menggunakannya semudah:
Contoh: http://jsfiddle.net/wldaunfr/FERw3/
sumber
EDIT: Saya menemukan tautan ini. Semoga ini bisa membantu. http://viralpatel.net/blogs/2011/02/clearable-textbox-jquery.html
Anda telah menyebutkan bahwa Anda menginginkannya di sebelah kanan teks input. Jadi, cara terbaik adalah membuat gambar di sebelah kotak input. Jika Anda mencari sesuatu di dalam kotak, Anda dapat menggunakan gambar latar belakang tetapi Anda mungkin tidak dapat menulis skrip untuk menghapus kotak.
Jadi, masukkan dan gambar dan tulis kode JavaScript untuk menghapus kotak teks.
sumber
<input type="text" name="Search" value="Search..." onclick="this.value='';">
Jika Anda menginginkannya seperti Google, maka Anda harus tahu bahwa "X" sebenarnya tidak ada di dalam
<input>
- mereka bersebelahan dengan wadah luar yang ditata agar tampak seperti kotak teks.HTML:
CSS:
Contoh: http://jsfiddle.net/VTvNX/
sumber
Sesuatu seperti ini??
Demo Jsfiddle
sumber
sumber
Anda dapat melakukannya dengan perintah ini (tanpa Bootstrap).
sumber
Ini plugin jQuery (dan demo di bagian akhir).
http://jsfiddle.net/e4qhW/3/
Saya melakukan sebagian besar untuk menggambarkan contoh (dan tantangan pribadi). Meskipun upvotes diterima, jawaban lain diberikan tepat waktu dan layak untuk diakui.
Namun, menurut pendapat saya, itu adalah mengasapi over-engineered (kecuali itu membuat bagian dari perpustakaan UI).
sumber
x
tombol lagiSaya telah menulis komponen sederhana menggunakan jQuery dan bootstrap. Cobalah: https://github.com/mahpour/bootstrap-input-clear-button
sumber
Menggunakan plugin jquery saya telah menyesuaikannya dengan kebutuhan saya menambahkan opsi yang disesuaikan dan membuat plugin baru. Anda dapat menemukannya di sini: https://github.com/david-dlc-cerezo/jquery-clearField
Contoh penggunaan sederhana:
Memperoleh sesuatu seperti ini:
sumber
jQuery Mobile sekarang memiliki ini bawaan:
Jquery Mobile API TextInput docs
sumber
Tidak perlu menyertakan file gambar atau CSS. Tidak perlu menyertakan seluruh jQuery UI library artileri berat. Saya menulis plugin jQuery ringan yang melakukan keajaiban untuk Anda. Yang Anda butuhkan adalah
jQuery
dan plugin . =)Biasakan di sini: Demo InputSearch jQuery .
sumber