javascript - 使 jQuery UI Selectmenu "Not change"成为 'change' 事件的值

标签 javascript jquery jquery-ui jquery-ui-selectmenu

我正在使用您可以找到的“fnagel jQuery UI Selectmenu Widget”here . 当基于某些条件触发change 事件时,我想让小部件不选择 成为新选项。

通常这是通过更改事件中的“return false;”来完成的。但它不起作用。我创建了一个 fiddle这里。

有人可以通过不选择更改事件的值来帮助我使 fiddle 工作吗?

谢谢!

最佳答案

您可以手动保存和恢复值,jsfiddle here .

  1. 将数据属性添加到您的选择元素:

    ... data-prev-selected="1"...

  2. 将此代码用于更改事件:

    var someCondition = true; // hardcoded for now
    
    // Undo new selection
    if ( someCondition ) {
        var prevIdx = $('select#speedA').attr('data-prev-selected');
        $('select#speedA').selectmenu("index", prevIdx);
        return;
    }
    
    // Save new index
    var idx = $('select#speedA').selectmenu("index");
    $('select#speedA').data('data-prev-selected', idx);
    

关于javascript - 使 jQuery UI Selectmenu "Not change"成为 'change' 事件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988945/

相关文章:

javascript - 为什么js压缩器不这样做?

javascript - 调用服务函数 : Not Populating Scope On First Execution

javascript - 使用 cdk-virtual-scroll (Angular 8) 滚动到底部

jquery - 使用 jQuery 实现 F11 全屏功能

javascript - 如何使用 jQuery 或纯 JS 重置所有复选框?

jquery - 使用jquery从colorpicker设置渐变背景颜色?

jquery - 在没有列包装器的情况下并排 float 堆叠的 div

javascript - 如果父类存在,则获取子 div 内容

visual-studio - 在 .net 核心应用程序中通过 nuget 安装 jquery ui 后找不到文件

javascript - HTML:决不能让 child 溢出他们的父亲