2

Kendo-UI 多选可用于输入用户定义的值吗?

默认情况下,当用户单击多选控件时,会打开一个下拉列表,用户可以选择其中一个预定义值。当用户选择预定义值之一时,该值将添加到选择中。

我们需要的是有点不同的行为。我们希望允许用户输入自定义字符串值,按回车键,然后输入的值将添加到选择中。

一个想法是通过订阅键事件并将用户定义的值添加到控件的数据源来滥用多选控件,此时我们可以(可能)将该值标记为选中(我只是在猜测,不确定是否实际上会起作用)。

那么,对于多选或其他一些控件(不一定是剑道),这种行为是否有一个选项值,所以我们不必破解现有的剑道控件?

作为行为的一个例子,我在这里创建了一个快速的 [PoC] ( http://plnkr.co/edit/mcpVsstaxB2Xteh374pk?p=preview )。

这是来自 plnkr 的代码

<script>
  $(function() {
    var input = $('input');
    var list = $('ul');

    input.on('keyup', function(e) {
      if (e.which === 13) {
        var value = $.trim(input.val());
        if (value.length > 0) {
          list.append($('<li/>'));
          list.find('li:last').text(value);
          var remove = $('<span class="remove"/>');
          remove.html('&nbsp; x');
          list.find('li:last').append(remove);
          remove = list.find('.remove:last');
          remove.click(function() {
            $(this).closest('li').remove();
          });
          input.val('');
        }
      }
    });

  });
</script>
4

0 回答 0