如何在单击或悬停在bootstrap tagsinput标签上时获取(对象)值?

时间:2017-06-20 17:03:37

标签: javascript jquery html twitter-bootstrap bootstrap-tags-input

我知道我可以通过执行以下操作来获取所有(对象)值: $("input").tagsinput('items') 正如Bootstrap tagsinput webpage

中所述

我想要做的是将鼠标悬停在标记上时获取特定值。

问题是悬停事件应该在span元素上,而示例中的值似乎只能从input元素中恢复。

以下是带有代码的jsfiddle。向下滚动以查看他们想要从中获取值的事件类型。例如,当徘徊在华盛顿'我想看{ "value": 4 , "text": "Washington" , "continent": "America" }

1 个答案:

答案 0 :(得分:1)

这就是我解决这个问题的方法。正如@CBroe建议的那样,我们的想法是从输入元素中获取所有项目,然后尝试获取元素的索引。

$(".tag").hover(function() {
  //get all data items  
  var allTags = $("#inputTags").tagsinput('items');

  //get all tag elements
  var listOfChildren = Object.keys(this.parentElement.children)
  //find out which index I hovered over
  var tagIndex;      
  var that = this;
  listOfChildren.forEach(function(ee, ff) {
    if (that.parentElement.children[ee] == that)
      tagIndex = ff;
  });
  // get the corresponding data item
  var objectDataClicked = allTags[tagIndex];

  alert(objectDataClicked.value + '-' + objectDataClicked.text + '-' + objectDataClicked.continent)
})

你可以找到jsfiddle here