<select>下拉菜单click点击事件在谷歌浏览器无法执行问题

在谷歌浏览器中,select标签的click事件无法正常执行。在尝试异步POST提交时,发现点击select下拉菜单无法触发事件并将值传递。经查找资料得知,谷歌浏览器不支持对select标签使用click事件,而应使用change()事件。修正后的代码使用change事件,问题得到解决。这次经历提醒我们,即便使用广泛如jQuery,也应注意浏览器兼容性,避免未充分测试可能导致的不兼容问题。
摘要由CSDN通过智能技术生成

几天前,写一个异步post提交的时候,在select标签中加一个click点击事件,点击下拉菜单的时候,无法执行点击事件。
代码

$('.form-control').find().click(function(){
   
                var id = $(this).val();
                $.post("{:U('Index/getfilm')}",{modelid:id},function(xml){
   });
                }

点击的时候无法将值传出去。

查了资料之后发现谷歌浏览器不支持用click点击事件操作select标签。
而是用另个事件 change()事件。
后来修改成

$('.form-control').change(<
在 JSP 页面中,可以通过 JS 脚本来实现一个下拉列表框的值改变时,另一个下拉列表框的选项内容发生变化的联动效果。 具体实现方法如下: 1. 首先在页面加载时,给第一个下拉列表框绑定一个 `onchange` 事件,当其值改变时,触发 JS 函数。 2. 在 JS 函数中,获取第一个下拉列表框的选中值,并根据该值生成第二个下拉列表框的选项内容,并将其替换掉原有的选项内容。 3. 最后,将第二个下拉列表框的值重置为默认值。 下面是一个简单的示例代码: ```html <!-- 第一个下拉列表框 --> <select id="select1" onchange="onSelect1Change()"> <option value="option1">选项1</option> <option value="option2">选项2</option> <option value="option3">选项3</option> </select> <!-- 第二个下拉列表框 --> <select id="select2"> <option value="default">请选择</option> </select> <script> function onSelect1Change() { // 获取第一个下拉列表框的选中值 const selectedValue = document.getElementById('select1').value; // 根据选中值生成第二个下拉列表框的选项内容 let optionsHtml = ''; if (selectedValue === 'option1') { optionsHtml = '<option value="option1-1">选项1-1</option><option value="option1-2">选项1-2</option>'; } else if (selectedValue === 'option2') { optionsHtml = '<option value="option2-1">选项2-1</option><option value="option2-2">选项2-2</option>'; } else if (selectedValue === 'option3') { optionsHtml = '<option value="option3-1">选项3-1</option><option value="option3-2">选项3-2</option>'; } // 将第二个下拉列表框的选项内容替换为新的内容 document.getElementById('select2').innerHTML = optionsHtml; // 将第二个下拉列表框的值重置为默认值 document.getElementById('select2').value = 'default'; } </script> ``` 需要注意的是,该示例代码仅为演示联动效果的实现方法,实际应用时需要根据具体需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值