首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用tagify插件使用动态标签填充文本字段

尝试使用tagify插件使用动态标签填充文本字段
EN

Stack Overflow用户
提问于 2011-09-08 02:16:20
回答 1查看 2.7K关注 0票数 0

具有以下代码,这些代码(驻留在对话框中)用作复选框的事件侦听器。我可以通过选中或取消选中各个复选框,使用复选框中的值填充/取消填充文本字段:

代码语言:javascript
复制
// Event listener which picks individual contacts
// and populates input field.
$('#emailCheckListId_ul input:checkbox').change(function() {
      // Declare array
      var emails = [];

      // Iterate through each array and put email addresses into array
      $('#emailCheckListId_ul input:checkbox:checked').each(function() {
             emails.push($(this).val());
      });

      // Assign variable as To: text field by obtaining element's id.
      var textField = document.getElementById("root.emailTextField");

      // Add / Remove array from text field
      textField.value = emails;
});

但是,当我使用try使用JQuery Tagify插件时,它只在文本字段中创建一个“标记化的动态标签”,但是当我单击另一个复选框时,它不会创建另一个标签。此外,当我取消选中原始复选框时,它不会删除原始标签。

下面是我使用JQuery tagify插件的代码(我所做的就是保持与上面相同,但在文本字段上调用了tagify函数):

代码语言:javascript
复制
// Add / Remove array from text field
textField.value = emails;

// Decorate with dynamic label
$(textField).tagify(emails); 

我在浏览器中看到这个JavaScript错误:

jquery.tagify.js:未定义'options‘,第71行

在源代码中,此行代码为:

代码语言:javascript
复制
_setOption: function( key, value ) {
    options.key = value;
},

它说明options.key是未定义的。

要查看jquery.tagify.js complete源代码,请单击here

我可能做错了什么?有没有办法创建一个"else“,例如:

代码语言:javascript
复制
// Iterate through each array and put email addresses into array
$('#emailCheckListId_ul input:checkbox:checked').each(function() 
{
    // do something
}); 

// how would I define the else when the input:checkbox:checked is not checked:

// I already tried this but it doesn't work:
$('#emailCheckListId_ul input:checkbox:unchecked').each(function() 
{
    // do something else
});

如果有人能帮我的话我会很感激的.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-15 01:55:56

我用下面的代码让它工作:

代码语言:javascript
复制
if (emails.length <= 0) {
    // Remove dynamic labels
    $(textField).tagify('destroy');

    // Empty text field
    textField.value = "";
}
else {
    // Reset tagify
    $(textField).tagify('destroy');

    // Add / Remove array from text field
    textField.value = emails;

    // Decorate with dynamic label
    $(textField).tagify(emails);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7338601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档