结合Bootstrap标签输入和Jquery UI可选

时间:2014-02-17 17:01:03

标签: jquery-ui twitter-bootstrap

我正在尝试学习一些编程技巧的漫长旅途的开始。 这是我关于stackoverflow的第一个问题:)

当我点击可选择列表中的项目时,我想将它添加到我的标签输入输入字段中。 (因此,我可以选择预定的可选标签列表或不在列表中的输入标签。)

我使用backbone.js。
我的html模板文件中有这个:

    <ol id="selectable">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
  </ol>
    <input type="text" class="form-control tags" name="tags" placeholder="tags" data-role="tagsinput">

但我不知道在js视图文件中放什么。现在我所拥有的是与我从Tags输入文档中复制的方法非常接近的方法。 (我甚至不确定应该替换什么&#34;某些标签&#34;。

 events: {
  'addtags': 'addtags'
},

addtags: function(e) {
  $('input').tagsinput('add', 'some tag');  
}

1 个答案:

答案 0 :(得分:0)

如果你第二次点击它们,它不会从输入中选择的项目,但它确实让我点击我的可选择列表中的项目ID,好像它被添加到我的TagsInput输入字段,我仍然可以直接在输入字段中输入任何标签。

return BaseView.extend ({
    template: function() {
      $('.tags').tagsinput();
      $("#selectable").bind("mousedown", function(e) {e.metaKey = true;}).selectable(); 
    },
    events: {
      'mousedown #selectable': 'addtags'
    },

    addtags: function(e) {
     // if($(e.target).hasClass('selected')){
       $('.tags').tagsinput('add', e.target.innerHTML);
    },