yii gridview实现时间段筛选功能
这篇文章主要为大家详细介绍了yii gridview实现时间段筛选功能,一个输入框,自动提交功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
yii gridview功能强大,但是时间筛选比较麻烦,与数据库的存储格式有关,本文的时间格式是date类型
那么问题来了,yii只提供关于时间的text搜索格式,就是只能查找精确日期比如2017-8-10。万能的客户说这样不行,我要搜索时间段!我只要一个输入框!我要自动提交!
注意要点:
1.首先要在gridview中引入相关js,实现双日期,这里选择了jquery.daterangepicker.js,简单大方(缺点:不能选择年份,需要手动点击,我这里不会大幅度跨年份,可用)
2.要在searchmodel里面对数据进行处理,进行时间查询
3.坑:选择日期后,输入框没有光标,需要二次点击,然后回车才能实现数据刷新,与原装gridview体验相差较大
4.梯:在检测到输入日期数据后,使用jq模拟回车提交动作,完美实现了类似gridview的原装体验,丝般顺滑
view中
<?php //use yii\web\View; use kartik\grid\GridView; use yii\bootstrap\Html; use common\helps\ArrayHelper; use yii\helpers\Url; //引入时间段js,这里使用了jquery.daterangepicker.js $this->registerCssFile('/plugins/datep/css/daterangepicker.css'); $this->registerJsFile('/plugins/datep/js/moment.min.js'); $this->registerJsFile('/plugins/datep/js/jquery.daterangepicker.js'); $this->registerJsFile('/plugins/datep/js/demo.js'); ?> <body class="gray-bg"> <p class="wrapper wrapper-content animated fadeInRight"> <p class="row"> <p class="col-sm-12"> <p class="ibox float-e-margins"> <?= backend\widgets\TitleBack::widget(['title'=>'记录管理']) ?> <p class="ibox-content"> <?php echo GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], ['class' => 'yii\grid\CheckboxColumn'], 'title', [ 'label'=>'下发时间', 'attribute'=>'issued', 'value' => function ($data) { return ArrayHelper::get_date_time($data->issued); }, ], ] ]); ?> </p> </p> </p> </p> </p> </p> </p> </body>
demo.js放在最后说,先说PatentDataBdSearch 对输入框发送过来的数据进行处理,时间段查询数据库
//时间段筛选 if($this->issued){ $time= explode('~', $this->issued); $query->andFilterWhere(['between', 'patent_data.issued', $time[0],$time[1]]); }
demo.js 实现数据检测,模拟回车操作
$(function(){ /* define a new language named "custom" 插件设置 */ $.dateRangePickerLanguages['custom'] = { 'selected': 'Choosed:', 'days': 'Days', 'apply': 'Close', 'week-1' : 'Mon', 'week-2' : 'Tue', 'week-3' : 'Wed', 'week-4' : 'Thu', 'week-5' : 'Fri', 'week-6' : 'Sat', 'week-7' : 'Sun', 'month-name': ['January','February','March','April','May','June','July','August','September','October','November','December'], 'shortcuts' : 'Shortcuts', 'past': 'Past', '7days' : '7days', '14days' : '14days', '30days' : '30days', 'previous' : 'Previous', 'prev-week' : 'Week', 'prev-month' : 'Month', 'prev-quarter' : 'Quarter', 'prev-year' : 'Year', 'less-than' : 'Date range should longer than %d days', 'more-than' : 'Date range should less than %d days', 'default-more' : 'Please select a date range longer than %d days', 'default-less' : 'Please select a date range less than %d days', 'default-range' : 'Please select a date range between %d and %d days', 'default-default': 'This is costom language' }; //下面设置称自己的输入框选择器 $("input[name='PatentDataBdSearch[issued]']").dateRangePicker( { //时间段的类型设置,这里是输入框时间段以~分隔,选择时间后自动消失弹出框 separator : ' ~ ', autoClose: true }).bind('datepicker-change',function(e,r) { try { console.log(r); //重要:如果检测有输入值了,就在输入框显示光标,或者模拟回车事件,自动提交,像gridview原生功能 //不添加下面的代码,将无法自动提交, var issued=$("input[name='PatentDataBdSearch[issued]']").val(); console.log(issued); if(issued){ //输入之后显示光标 //$("input[name='PatentDataBdSearch[issued]']").focus(); //模拟回车操作,输入后自动提交,刷新数据,一定要设置时间计数器,否则将无法提交 setTimeout(function(){ e = jQuery.Event("keydown"); e.keyCode = 13; //enter key jQuery("input[name='PatentDataBdSearch[issued]']").trigger(e); },100); } }catch(e){} }); });
相关推荐:
Atas ialah kandungan terperinci yii gridview实现时间段筛选功能. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dengan perkembangan pesat media sosial, Douyin telah menjadi platform popular bagi ramai orang untuk merakam kehidupan mereka, berkongsi kreativiti mereka dan mempamerkan bakat mereka. Bagi pengguna yang ingin mendapatkan lebih banyak pendedahan dan peminat di Douyin, memilih masa yang sesuai untuk menyiarkan adalah penting. Lagipun, terdapat perbezaan dalam aktiviti dan perhatian pengguna dalam tempoh masa yang berbeza. Jadi, apakah 4 masa terbaik untuk tweet? 1. Apakah 4 masa terbaik untuk tweet? Apabila menentukan masa terbaik untuk menyiarkan video Douyin, anda perlu mengambil kira masa dalam talian dan tahap aktiviti pengguna. Dengan menganalisis statistik dan gelagat pengguna, anda boleh mengenal pasti empat tempoh masa terbaik untuk video anda mendapat lebih banyak pendedahan dan menarik lebih ramai peminat di TikTok. 8 malam hingga 10 malam adalah rehat yang berharga bagi ramai orang selepas keluar dari kerja atau sekolah.

Semakin ramai pengguna mula menaik taraf sistem win11 Memandangkan setiap pengguna mempunyai tabiat penggunaan yang berbeza, ramai pengguna masih menggunakan pelayar ie11 Jadi apa yang perlu saya lakukan jika sistem win11 tidak boleh menggunakan pelayar ie. Adakah windows11 masih menyokong ie11? Mari kita lihat penyelesaiannya. Penyelesaian kepada masalah yang win11 tidak boleh menggunakan pelayar ie11 1. Pertama, klik kanan menu mula dan pilih "Command Prompt (Administrator)" untuk membukanya. 2. Selepas dibuka, terus masukkan "Netshwinsockreset" dan tekan Enter untuk mengesahkan. 3. Selepas pengesahan, masukkan "netshadvfirewallreset&rdqu

Bukan rahsia lagi bahawa Internet Explorer telah lama tidak disukai, tetapi dengan ketibaan Windows 11, realiti muncul. Daripada kadangkala menggantikan IE pada masa hadapan, Edge kini menjadi penyemak imbas lalai dalam sistem pengendalian terkini Microsoft. Buat masa ini, anda masih boleh mendayakan Internet Explorer dalam Windows 11. Walau bagaimanapun, IE11 (versi terkini) sudah mempunyai tarikh persaraan rasmi, iaitu 15 Jun 2022, dan jam semakin berdetik. Dengan mengambil kira perkara ini, anda mungkin perasan bahawa Internet Explorer kadangkala membuka Edge, dan anda mungkin tidak menyukainya. Jadi mengapa ini berlaku? wujud

Baru-baru ini, ramai pengguna win10 mendapati bahawa pelayar IE mereka sentiasa melompat ke pelayar tepi secara automatik apabila menggunakan pelayar komputer Jadi bagaimana untuk mematikan lompat ke tepi automatik apabila membuka IE dalam win10? Biarkan tapak ini dengan teliti memperkenalkan kepada pengguna cara melompat ke tepi dan menutup secara automatik apabila membuka IE dalam win10. 1. Kami log masuk ke pelayar tepi, klik... di penjuru kanan sebelah atas, dan cari pilihan tetapan lungsur turun. 2. Selepas kami memasukkan tetapan, klik Penyemak Imbas Lalai di lajur kiri. 3. Akhir sekali, dalam keserasian, kami menandakan kotak untuk tidak membenarkan tapak web dimuat semula dalam mod IE dan mulakan semula pelayar IE.

Penyelesaian kepada pintasan IE yang tidak boleh dipadamkan: 1. Isu kebenaran 2. Kerosakan pintasan 4. Isu pendaftaran; alat; 9. Semak laluan pintasan sasaran; 10. Pertimbangkan faktor lain; Pengenalan terperinci: 1. Isu kebenaran, klik kanan pada pintasan, pilih "Properties", dalam tab "Security", pastikan anda mempunyai kebenaran yang mencukupi untuk memadamkan pintasan, anda boleh cuba jalankan sebagai pentadbir, dsb .

15 Jun 2022 ialah hari apabila Microsoft menamatkan sokongan untuk Internet Explorer 11 (IE11) dan menutup bab penyemak imbas warisannya. Syarikat itu telah mengingatkan pengguna tentang tarikh akhir hayat ini untuk beberapa waktu dan menyeru mereka untuk merancang perpindahan ke Microsoft Edge. Microsoft menggabungkan IE11 dengan Windows 8.1 sebagai pelayar web lalai moden untuk Windows. Walaupun ia tidak pernah mencapai ketinggian (semasa) Chrome, ia merupakan penyemak imbas desktop kedua paling banyak digunakan pada tahun 2014, di belakang IE8. Sudah tentu, dengan 20

Bagaimana untuk mendayakan fungsi pecutan IE? IE terlalu lambat untuk membuka halaman web, kami boleh mendayakan mod pecutan perkakasan di dalamnya. Ramai rakan melaporkan bahawa apabila menggunakan pelayar IE, kelajuan membuka halaman web adalah sangat perlahan, yang juga mempunyai kesan tertentu pada penyemakan imbas web kami. Saya hanya ingin bertanya kepada editor jika terdapat sebarang penyelesaian Dalam kes ini, anda boleh menghidupkan mod pecutan perkakasan pelayar IE. lihat di bawah! Untuk mendayakan fungsi pecutan dalam IE, buka pelayar selamat IE, klik ikon "Tetapan" berbentuk gear di penjuru kanan sebelah atas, dan pilih "Pilihan Internet" untuk masuk, seperti yang ditunjukkan dalam rajah. 2. Klik "Lanjutan" dalam navigasi tab di kepala tetingkap Internet Options, seperti yang ditunjukkan dalam rajah. 3.

Bagaimana untuk menyahpasang ie9 dari win7? Komputer boleh mengendalikan sesuatu di tempat kerja dan juga boleh digunakan untuk menonton rancangan TV. Sama seperti menonton drama, kami biasanya menggunakan pelayar untuk menontonnya Kerana semakin banyak pelayar dan fungsinya adalah sempurna, semakin sedikit orang menggunakan pelayar ie9 sekarang Jadi bagaimana untuk menyahpasang pelayar di win7 untuk menyahpasang pelayar IE9 daripada sistem. Bagaimana untuk menyahpasang pelayar ie9 dari win7. 1. Pertama, klik dua kali untuk membuka MyPC dan pilih untuk menyahpasang atau menggantikan program 2. Kemudian cari "ViewInstallUpdate" dan klik padanya. Anda boleh menemui "windows internet explorer9" di dalam, kemudian klik kanan untuk memadam. Di atas ialah editor dengan wi
