如何使用MagicSuggest使每个方法使用多个输入?

时间:2014-07-28 05:23:16

标签: jquery magicsuggest

我有3个MagicSuggest将会采取行动的字段。我设置它,以便当输入中有一个值时,一个名为'filled'的类将激活并将标签留在其各自的输入上方。问题是这个'填充'类使用MagicSuggest添加到每个其他输入。我只想把它作为个人输入。

Here is a pen包含我的问题。

我尝试过:

//Try #1
$(maa, baa, laa).each(function(){
  $(maa, baa, laa).on('selectionchange', function(e, m){
    var this = $(this).closest('.ms-ctn');
    $(this).addClass('filled');
  });
});

//Try #2
$(maa).on('selectionchange', function (e, m) {
  $('.ms-sel-ctn').each(function(){
    $(this).closest('.ms-ctn').addClass('filled');
  });
});

//Try #3
$(maa).on('focus', function (c) {
  $('ms-sel-ctn').closest('.ms-ctn').addClass('filled');
});

//Try #4
$('.magsug').each(function () {
  var xxx = $(this).magicSuggest({});
  $(xxx).on('selectionchange', function(event, combo, selection) {
    $('.ms-sel-ctn').closest('.ms-ctn').addClass('filled');
  });
});

//Try #5
$('.magsug').each(function () {
  var ms = $(this).magicSuggest({});
  $(ms).on('selectionchange', function (e, m) {
    $('.ms-sel-ctn').each(function(){
      $(this).closest('.ms-ctn').addClass('filled');
    });
  });
});

我在github的issues页面上发现了类似的问题并试图实现它(尝试#5),但它对我不起作用。我正在学习JavaScript,对于任何明显的错误都很抱歉。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您正在修改所有输入字段,这就是您遇到问题的原因。

您应该使用组件提供的事件和方法:

    选择更改时会触发
  • on('selectionchange')
  • ms.getValue()返回组件中包含的值。

无论如何,这是你的笔更正:

http://codepen.io/bubbliscious/pen/fecji

干杯