Jquery JS下拉框点击触发事件 .change / .on('change') 以及选定的option值和文本内容提取

第一步:创建一个select下拉框 

在html文件里面

<select id="cputurbocheck">
<option value="LongTerm">Long Term</option>
<option value="ShortTerm">Short Term</option>
</select>

 

第二步:加change

在.js文件

要明确,想添加一个option的触发事件,在option中添加onclick 点击就是不会触发事件的

前端页面中经常会使用到select下拉框。操作select框时会发生click和change事件,且这两事件有特定的执行顺序
1.点击select框出现下拉列表,此为一次click点击事件。
2.选择下拉框中的某个选项,若将要选择的选项与正在框中的值不一样,此为一次change事件。点击选择上这个值,会先产生change事件,接着产生click事件。
3.若将要选择的选项与正在框中的值一样,不会产生change事件。点击选择上这个值,产生一次click事件。
 

Jquery写法一:

.change(function())


$("#cputurbocheck").click(function(e){
    console.log("click");
});
						
$("#cputurbocheck").change(function(e){
    console.log("change");
});

​

绑定下拉框的id  “cputurbocheck”然后告诉他当触发click和change的时候该干什么。

Jquery写法二:

.on("change",function())

$('#id').on('change',function(){console.log('select改变了')})

当然这里的'#id' 也要拿 '#cputurbocheck'替换才能使那个下拉框失效,意思就是id就是你自己设定的下拉框id名称。

 

第三步:提取选中option的val和text

function showMeTheText(){
    var selectedOption = $("#yourSelectedId option:selected");
    console.log(selectedOption.val(), selectedOption.text());
  }

注意:

如果要用自己上面定义的函数,比如 showMeTheText

千万不能在函数名后面加括号     showMeTheText() 

要这样:

$('#id').on('change', showMeTheText)

 

提示:

console.log 是一个常用javascript调试语句,就像print一样

然后这个打出来的语句在浏览器的控制台查看,注意是浏览器的不是编辑器的。浏览器按下F12点Console就可以看到。

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在 layui 中,下拉框事件可以通过监听 select 组件的 change 事件来实现。具体的代码如下: HTML 代码: ```html <div class="layui-form"> <div class="layui-form-item"> <label class="layui-form-label">城市</label> <div class="layui-input-block"> <select name="city" lay-filter="city"> <option value=""></option> <option value="shanghai">上海</option> <option value="beijing">北京</option> <option value="guangzhou">广州</option> <option value="shenzhen">深圳</option> </select> </div> </div> </div> ``` JavaScript 代码: ```javascript layui.use(['form'], function () { var form = layui.form; // 监听 select 组件的 change 事件 form.on('select(city)', function (data) { console.log(data.value); // 打印选中的 }); }); ``` 在上面的代码中,我们使用了 layui 的 form 模块,然后监听了 select 组件的 change 事件。当选择某个选项时,会触发这个事件,然后我们可以通过 data.value 来获取选中的。 ### 回答2: layui 是一款基于 jQuery 的开源前端框架,提供了丰富的组件和强大的功能,其中下拉框(Select)是常用的表单组件之一。下拉框事件可以通过 layui 的 form 模块中的 on 方法进行绑定和处理。 在 layui 中,我们可以使用下拉框的 lay-filter 属性与 on 方法一起使用,实现下拉框选项改变时的事件触发。具体步骤如下: 1. 在 HTML 页面中,使用 layui 的下拉框组件,添加 lay-filter 属性用于事件的绑定。例如: ```html <select lay-filter="selectChange" name="city"> <option value=""></option> <option value="1">上海</option> <option value="2">北京</option> <option value="3">广州</option> </select> ``` 2. 在 JavaScript 代码中,使用 layui 的 form 模块的 on 方法,对下拉框的事件进行监听和处理。例如: ```javascript layui.use(['form'], function() { var form = layui.form; form.on('select(selectChange)', function(data){ console.log('选中的为:', data.value); // 打印选中的 console.log('选中的文本为:', data.elem[data.elem.selectedIndex].text); // 打印选中的文本 }); }); ``` 在上述示例中,我们通过 form 模块的 on 方法,监听了名为 "selectChange" 的 lay-filter 属性的下拉框选项改变事件。当下拉框选项改变时,会触发 form.on 方法中的回调函数,其中的 data 参数包含了选中的文本信息。我们可以根据需要对选中的文本进行操作,例如打印到控制台或进行其他的业务处理。 综上所述,利用 layui 的 form 模块的 on 方法,我们可以实现对下拉框事件的监听和处理。通过绑定 lay-filter 属性和编写相应的回调函数,我们可以灵活地响应下拉框选项的改变,并进行相应的操作。 ### 回答3: layui的下拉框组件是基于jQuery库开发的,通过监听下拉框的事件,可以实现各种交互效果。 在layui中,下拉框的事件主要包括下拉框选择事件(select)、下拉框打开事件(open)和下拉框关闭事件(close)。 1. 下拉框选择事件(select):该事件会在下拉框选项被选择后触发。可以通过下面的代码实现事件的绑定: ```javascript form.on('select(filter)', function(data){ // 获取选中的 console.log(data.value); // 获取选中的文本 console.log(data.elem[data.elem.selectedIndex].text); }); ``` 在上述代码中,'filter'代表下拉框的过滤器,可以根据实际情况进行修改。通过data.value可以获取选中的,data.elem[data.elem.selectedIndex].text可以获取选中的文本。 2. 下拉框打开事件(open):该事件会在下拉框被打开时触发。可以通过下面的代码实现事件的绑定: ```javascript form.on('select(filter)', function(data){ console.log('下拉框已打开'); }); ``` 当下拉框被打开时,控制台会输出'下拉框已打开'。 3. 下拉框关闭事件(close):该事件会在下拉框被关闭时触发。可以通过下面的代码实现事件的绑定: ```javascript form.on('select(filter)', function(data){ console.log('下拉框已关闭'); }); ``` 当下拉框被关闭时,控制台会输出'下拉框已关闭'。 通过监听layui下拉框的事件,我们可以根据用户的选择进行相应的操作,例如根据选中的加载不同的数据,或者根据下拉框的状态进行样式的改变等。总之,layui提供了丰富的下拉框事件,可以方便我们实现各种交互效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值