将逗号分隔的字符串值分配给以下代码中的变量有什么问题?

时间:2014-08-14 10:54:33

标签: javascript jquery string jquery-ui

以下是静态代码示例:

new Taggle('example2', {
    tags: ['These', 'are', 'prefilled', 'tags']
});

上面的代码工作正常。但是当我尝试分配一个包含逗号分隔值字符串的变量时,我无法正确执行代码。

以下是我尝试过的代码:

var mail_list = $(' #contact_us_email_list')。val(); //变量mail_list中包含的值是 abc @ gmail.com,lmn.pqr @ gmail.com,jumbo @ yahoo.co.in

new Taggle($('.delicious.textarea')[0], {
    tags: mail_list
});

有人可以告诉我在将变量值作为标记的参数

传递时我犯了什么错误

提前致谢。

3 个答案:

答案 0 :(得分:1)

The documentation说明您可以使用add。那么为什么不将字符串添加到新的标记中,确保首先使用split将其转换为数组。

var taggle = new Taggle('example2');
var arr = $('#contact_us_email_list').val().split(',');
taggle.add(arr);

答案 1 :(得分:0)

您需要在数组中传递它们:

var mail_list = ['abc@gmail.com','lmn.pqr@gmail.com', 'jumbo@yahoo.co.in'];
new Taggle($('.delicious.textarea')[0], {
    tags: mail_list
});

或者,您可以拆分字符串,使其成为数组,然后照常使用。

var mail_list = $('#contact_us_email_list').val();
new Taggle($('.delicious.textarea')[0], {
        tags: mail_list.split(',')
    });

答案 2 :(得分:0)

问题是你要为tags分配一个字符串,但它需要一个数组。只需将您的值除以,

只需像下面那样使用它

new Taggle($('.delicious.textarea')[0], {
    tags: mail_list.split(',')
});