jQuery代码中的间歇性错误

jQuery代码中的间歇性错误,jquery,Jquery,我收到以下java脚本错误(间歇性) 函数外部的“return”语句 下面是在我的jQuery代码中返回的函数。我想知道这个代码模式有什么问题?在一个函数中调用另一个函数是一个问题吗?有什么想法吗 代码 这不是对你问题的回答,因为根据你问题中给定的代码,问题在其他地方,但无论出于什么目的,你编写的代码(两个函数)都可以在这一个函数中完成,还有其他方法,但我认为这已经够了 function getSelected(el) { var opt = $(el).find('option:sel

我收到以下java脚本错误(间歇性)
函数外部的“return”语句

下面是在我的jQuery代码中返回的函数。我想知道这个代码模式有什么问题?在一个函数中调用另一个函数是一个问题吗?有什么想法吗

代码


这不是对你问题的回答,因为根据你问题中给定的代码,问题在其他地方,但无论出于什么目的,你编写的代码(两个函数)都可以在这一个函数中完成,还有其他方法,但我认为这已经够了

function getSelected(el)
{
    var opt = $(el).find('option:selected'), l = opt.length, i = 0, arr = [], t;
    for(;i < l; i++) {
        t = $(opts[i]).text(), arr[i] = t.substring(0, t.lastIndexOf(":"));
    }
    isAnyParameterSelected = (isAnyParameterSelected == 0 && opt) ? 1 : 0;
    return arr.join(',');
}

查看使用同一函数的三个版本但使用一个函数(代码更少)的一些示例。

我真的看不出您的语法有任何错误,但这背后总是有某种奇怪的潜在问题。也许这种方法会奏效,因为我正在从内部匿名函数中删除一个返回值,因为这可能是与return语句冲突的地方。一年前我遇到过类似的问题,下面是一个您可以使用的解决方法

function getSelectedParameters(parameterControl) {
    var selectedElements = new Array();
    $.map($(parameterControl + " option:selected"), function (el, i) {
        selectedElements = getCode($(el).text());
        return false; //edit this to make it false
    });
    var parameter = selectedElements.join(",");
    if (isAnyParameterSelected == 0) {
        if (parameter.length > 0) {
            isAnyParameterSelected = 1;
        }
    }
    return parameter;
}
function getCode(selectedValue) {
    var firstIndex = selectedValue.lastIndexOf(":");
    var code = selectedValue.substring(0, firstIndex);
    return code;
}
我正在做的是从$.map值中删除返回值,使其返回为false;同时,在$.map中,它分配给外部变量selectedElements

也许这会帮助或引导你朝着正确的方向前进。我对这个代码有点怀疑:

selectedElements = getCode($(el).text());
也许您可以使用SR5建议的推送方法:

$.each($(parameterControl + " option:selected"), function (el) {
    selectedElements.push(getCode($(el).text()));
});
我想你是想用这个来创建一个新的数组?我希望我在这里能有更多的合作


如果您对我的答案进行了升级投票,并且使用了SR5的推送方法,每个$5,请也对SR5进行升级投票:-p

感谢所有的答案

当我删除另一个脚本-
href=“javascript:return void(0);”
时,错误不会出现。我想这就是问题所在

从以下方面:

  <a href="javascript:return void(0);" id="MoveSelectedItems" class="k-button">
    <img src="~/Images/move.png" height="18" width="18" /> 
    Move 
  </a>


您是否在编译代码?你的工具链是什么?我不认为你可以从匿名回调函数返回一个值。它看起来很好-没有明显的跳出。当你得到错误时,它会告诉你它在哪一行吗?@YuriyGalanter在
map()
中返回一个值是正常的@Archer说得对,我不知道,谢谢参考:
selectedElements = getCode($(el).text());
$.each($(parameterControl + " option:selected"), function (el) {
    selectedElements.push(getCode($(el).text()));
});
  <a href="javascript:return void(0);" id="MoveSelectedItems" class="k-button">
    <img src="~/Images/move.png" height="18" width="18" /> 
    Move 
  </a>