zoukankan      html  css  js  c++  java
  • jQuery 事件——关于Select选中

    场景:

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


    下拉列表例子如下:

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

    错误示范:

    1 $("select#status").click(function(){
    2     console.log($(this).val());
    3 });

    若通过click事件执行,则在点击下拉列表的首次便会触发一次Ajax请求,这样并不符合逻辑,故不能使用click事件作为下拉列表选中具体值的做法。

    正确示范:

    1 $("select#status").change(function(){
    2     console.log($(this).val());
    3 });

    W3SCHOOL  对change事件的诠释如下:

    定义和用法

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

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

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

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

     


     

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

    补充:

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

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

     

  • 相关阅读:
    String Matching Patterns(字符串匹配模式)
    脚本元素定位实例学习
    vue 实现逻辑分页 以及动态表格自动转行
    vue 打印功能(js)
    vue 打包时使用/deep/ 报错
    vue 去掉后缀名
    VSCode: 提高工作效率的快捷键
    修改 input/textarea 标签属性 placeholder 文本的颜色
    H5超级播放器+FFmpeg实现摄像头在线查看
    Lucene.net常用功能说明
  • 原文地址:https://www.cnblogs.com/xxxholicl/p/6616582.html
Copyright © 2011-2022 走看看