繁体   English   中英

如何将Bootstrap标签输入字段中的标签存储到我的收藏夹中?

[英]How to store tags from Bootstrap Tags Input field into my collection…?

我正在使用ajduke:bootstrap-tagsinput`包,并尝试将数组存储在:

$('#dealTags').tagsinput('items')

在我的交易集合中,但以下各项的价值:

$(e.target).find('[name=dealTags]').val()

返回未定义。 我是Meteor和Javascript的新手,如果这是一个愚蠢的问题,对不起。 这是表单字段:

<div class ="controls">
        <input id="dealTags" type="text" class="form-control" value="" placeholder="Add some tags..." data-role="tagsinput">
</div>

在这里,我尝试将数据插入模板中的集合

var deal = {
      dealTitle: $(e.target).find('[name=dealTitle]').val(),
      venueName: $(e.target).find('[name=venueName]').val(),
      when: $(e.target).find('[name=when]').val(),
      dealTags: $(e.target).find('[name=dealTags]').val()
};

而我的收集方法实际上是在写数据库

Meteor.methods({
  dealInsert: function(dealAttributes) {
    check(Meteor.userId(), String);
    check(dealAttributes, {
      dealTitle: String,
      venueName: String,
      when: String,
      dealTags: String
});

谢谢!

我认为您需要使用select元素而不是input来让val()返回数组。 (请参阅文档

<div class ="controls">
    <select multiple id="dealTags" type="text" class="form-control" value="" placeholder="Add some tags..." data-role="tagsinput" />
</div>

另一个解决方案是继续使用input元素,但是调用.tagsinput('items')而不是val()

var deal = {
  dealTitle: $(e.target).find('[name=dealTitle]').val(),
  venueName: $(e.target).find('[name=venueName]').val(),
  when: $(e.target).find('[name=when]').val(),
  dealTags: $(e.target).find('[name=dealTags]').tagsinput('items')
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM