解決layui下拉框監(jiān)聽問題(監(jiān)聽不到值的變化)
關(guān)于layui監(jiān)聽下拉框值得變化,大家都知道官方文檔給我們提供了一個(gè)方法
form.on('select(demo)',function(data){ console.log(data.value)//打印當(dāng)前select選中的值 })
按照我之前的理解,監(jiān)聽下拉框值得變化,就是只有下拉框的值發(fā)生了改變,才會(huì)觸發(fā)這個(gè)事件,否則就不觸發(fā)。但是這個(gè)方法是,只要你鼠標(biāo)點(diǎn)擊了下拉選項(xiàng)里面的值,不論這個(gè)值跟之前的值是否相等,都會(huì)觸發(fā)這個(gè)事件。
下面說一下我的解決辦法
1.首先,我寫了一個(gè)input框,用來存放select當(dāng)前選擇的value值(這個(gè)時(shí)候不知道大家是不是跟我想的一樣,只要監(jiān)聽這個(gè)input框中值得變化不就可以了么,答案是不行。因?yàn)閯?dòng)態(tài)賦值操作無法觸發(fā)input的change事件)
2.代碼寫一下,自己理解
//input值發(fā)生變化事件 $(input).on('change',function(){ console.log('layui下拉框的值發(fā)生了變化'); }) form.on('select(demo)',function(data){ //判斷當(dāng)前選中的值是否跟input的值相等,相等的話,就不發(fā)生change事件,需要注意的是要先判斷再賦值 var inputVal = $(input).val(); if(data.value !== inputVal ){ $(input).change(); } $(input).val(data.value) })
以上這篇解決layui下拉框監(jiān)聽問題(監(jiān)聽不到值的變化)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
自用js開發(fā)框架小成 學(xué)習(xí)js的朋友可以看看
前段時(shí)間項(xiàng)目需要用到j(luò)s樹,找了好多都不符合項(xiàng)目需求,后來發(fā)現(xiàn)了梅花雪樹和js框架,類似C#名稱空間的用法讓我眼前一亮,遂拿來主義,讀了幾遍代碼后就開工了(我是個(gè)急性子呵呵),完成了大部分,最近才找出來測試了下。2010-11-11JS獲取時(shí)間的相關(guān)函數(shù)及時(shí)間戳與時(shí)間日期之間的轉(zhuǎn)換
時(shí)間戳和時(shí)間日期的轉(zhuǎn)換是常見的操作,下面就通過代碼實(shí)例介紹一下如何實(shí)現(xiàn)它們之間的相互轉(zhuǎn)換,感興趣的朋友一起學(xué)習(xí)吧2016-02-02如何讓你的JavaScript函數(shù)更加優(yōu)雅詳解
在Js世界中有些操作會(huì)讓你無法理解,但是卻無比優(yōu)雅,下面這篇文章主要給大家介紹了關(guān)于如何讓你的JavaScript函數(shù)更加優(yōu)雅的相關(guān)資料,需要的朋友可以參考下2021-07-07jQuery NProgress.js加載進(jìn)度插件的簡單使用方法
NProgress是基于jquery的,且版本要 >1.8 。這篇文章主要介紹了NProgress.js加載進(jìn)度插件的簡單使用方法,需要的朋友可以參考下2018-01-01淺談JS中的!=、== 、!==、===的用法和區(qū)別
下面小編就為大家?guī)硪黄獪\談JS中的!=、== 、!==、===的用法和區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09JS實(shí)現(xiàn)CheckBox復(fù)選框全選全不選功能
在網(wǎng)站的管理后臺應(yīng)用此功能居多,如一次性處理多個(gè)產(chǎn)品,或?qū)ξ恼碌膭h除對產(chǎn)品的下架等處理,一條一條的點(diǎn)顯然有一些麻煩,如果能每一行放一個(gè)checkbox,然后統(tǒng)一處理就好辦的多了,今天我就用簡單的篇幅來講解一下這個(gè)功能的實(shí)現(xiàn)原理和實(shí)現(xiàn)過程。2015-05-05