javascript - 在自动完成/提前输入小部件中添加按钮

标签 javascript jquery angularjs twitter-bootstrap

我正在使用 Angular 和 angular-bootstrap 。我需要添加按钮来删除/编辑显示的自动完成功能。

enter image description here

如上图所示,我需要通过发出后端请求来获取编辑/删除按钮以从主列表中删除。 Angular-bootstrap 没有提供任何选项来执行此操作,我在 ui-bootstrap.tpl.js 中添加了代码来获取此功能。

有什么干净的方法可以做到这一点吗? 如果您遇到任何组件,请提及任何组件。

谢谢。

最佳答案

我创建了这个 JSFiddle example 为您提供最终解决方案的想法。

您需要注册一些事件处理程序以将控件添加到每个项目,如下所示:

$(document).on('mouseover', 'ul.dropdown-menu li', function(){
    if ($(this).find('span').length == 0) {
        // Append EDIT and DELETE controls (span tags)
        $(this).append('<span class="custom-control edit">E</span>');
        $(this).append('<span class="custom-control delete">D</span>');
    }
});

使用以下 css 代码处理事件项目的 editdelete 控件的可见性:

ul.dropdown-menu li.active span {
    display: block;
}

最后,为单击时的编辑删除控件注册一些其他事件处理程序:

$(document).on('click', 'span.edit', function(e){
    alert('EDIT: ' + $(this).closest('li').find('a').text());
});

$(document).on('click', 'span.delete', function(e){
    alert('DELETE: ' + $(this).closest('li').find('a').text());
});

关于javascript - 在自动完成/提前输入小部件中添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32404302/

相关文章:

javascript - 将事件插入输入 jQuery 后如何触发事件?

javascript - mongodb 调试 - ReferenceError : console is not defined

javascript - jQuery.Deferred.prototype.then : returns an object with behaviour I don't understand

javascript - 鼠标移动事件在 mozilla 中不起作用

javascript - 这些文档就绪类型之间有什么区别?何时使用它们?

javascript - 从 Javascript 调用 Wicket 代码

jquery - Angular ng-hide'ing 对于动画来说太快了

AngularJS promise 使用“finally”这个词。 grunt jshint 提示

javascript - angularjs ng-click 无法更改 $scope 变量?

jquery - 删除组内元素的类以进行同位素过滤