jQuery 事件——关于Select选中【应该使用change事件】

$(document).ready(function(){
    $('#selectid').change(function(){
        alert($(this).children('option:selected').val());  //弹出select的值
    });
})

场景:

eg:在管理一篇博文时,因博文的管理有一列叫:状态的列,该列有诸多状态,如:正常,待审核,删除等... 此时,若使用Select下拉列表进行状态选择,并在选中具体项值后,通过Ajax异步提交,在效果及体验上就能得到更大化的体验。

下拉列表例子如下:

<select id="status">
    <option value="0" >待审核</option>
    <option value="1" >未通过审核</option>
    <option value="2" >制作中</option>
    <option value="3">制作完成</option>
    <option value="4" >发布</option>
    <option value="5">暂停</option>
    <option value="6">删除</option>
</select>

--------------------------------------------------------错误写法---------------------------------------------------------------------------
错误示范:
$("select#status").click(function(){
console.log($(this).val());
});
若通过click事件执行,则在点击下拉列表的首次便会触发一次Ajax请求,这样并不符合逻辑,故不能使用click事件作为下拉列表选中具体值的做法。


正确写法:
$("select#status").change(function(){
console.log($(this).val());
});

W3SCHOOL 对change事件的诠释如下:
定义和用法:

当元素的值发生改变时,会发生 change 事件。

该事件仅适用于文本域(text field),以及 textarea 和 select 元素。

change() 函数触发 change 事件,或规定当发生 change 事件时运行的函数。

注释:当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,该事件会在元素失去焦点时发生。

补充:

因为页面翻页也是使用Ajax技术进行异步处理,当翻页后,原写法将失效,此时应该使用如下代码进行执行:

$(document).on("change",'select#status',function(){
console.log($(this).val());
});

通过以上,能清楚明白,当对于Select下拉列表时,应该使用Change事件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,131评论 2 17
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,144评论 0 2
  • 一:认识jquery jquery是javascript的类库,具有轻量级,完善的文档,丰富的插件支持,完善的Aj...
    xuguibin阅读 1,766评论 1 7
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,276评论 0 1
  • 滨河
    junnia2016阅读 225评论 0 0

友情链接更多精彩内容