Javascript / Jquery:在字符串上使用+符号。

时间:2014-02-05 21:51:27

标签: javascript jquery syntax-error

我正在使用select元素创建一个过滤器。这适用于轮子商店,因此值将是螺栓图案,尺寸,颜色等。

我必须使用以下格式的所有选定值进行AJAX调用:

value1+value2+value3....

我能想到的唯一方法是迭代选定的选项并将符号+和选定的值添加到字符串中,最后使用子字符串删除第一个+符号。

var SelectedFilters = '';
$('#CategoryFilter .BlockContent select').each(function(index, element) {
    value = $(element).find('option:selected').val();
    if(value != "Choose One"){
        SelectedFilters += ('+' + value);  // This is the line with the problem
    });
 SelectedFilters = SelectedFilters.substring(1,SelectedFilters.length);

我遇到的问题是上面的第5行。我收到一个语法,意外的令牌错误,但我无法弄清楚我的语法有什么问题。

2 个答案:

答案 0 :(得分:3)

该行没有任何问题,但下一行出了问题:

    });

如果那应该是.each()回调的结束,那么你就错过了}语句的if。如果它不应该是函数的结尾,则);是错误的。

答案 1 :(得分:1)

您有一些语法错误,请使用JSLint或JSHint来修复它们。

此外,您可以大大简化此过程:

var SelectedFilters = $('#CategoryFilter .BlockContent option:selected')
    .filter(function ()  { return this.value !== 'Choose One'; })
    .map(function () { return this.value; }).get().join('+');