javascript代码不会在循环后执行

javascript代码不会在循环后执行,javascript,jquery,Javascript,Jquery,我有以下代码(来自较大函数的代码片段): 这行代码并没有执行,并且在Firebug中显示为灰色,这表明Firebug不知何故知道它无法访问。如果我对代码进行如下简单更改: var res = data.results; for (var i=0;i<res.length;i++) { var opt = '<option value="' + res[i] + '">' + res[i] + '</option>'; $(opt).appendTo(

我有以下代码(来自较大函数的代码片段):

这行代码并没有执行,并且在Firebug中显示为灰色,这表明Firebug不知何故知道它无法访问。如果我对代码进行如下简单更改:

var res = data.results;
for (var i=0;i<res.length;i++) {
    var opt = '<option value="' + res[i] + '">' + res[i] + '</option>';
    $(opt).appendTo(sel);
}
if (data.select && data.select!='') { sel.val(data.select); }
var res=data.results;
对于(var i=0;i用

var res = data.results;
for (var i=0;i<res.length;i++) {
    if(!res[i])
       break;
    var opt = '<option value="' + res[i] + '">' + res[i] + '</option>';
    $(opt).appendTo(sel);
}
if (data.select && data.select!='') { sel.val(data.select); }
var res=data.results;

对于(var i=0;我有没有尝试过调试器(Firebug对Firefox很好)?是的,我正在使用Firebug。谢谢。如果这个术语永远达不到,通常会发生这种情况。谢谢你的建议,但我肯定必须测试res[i]有效,因为如果i==res.length,for循环不应该执行?我的问题更多地是关于为什么在i==4和res.length==4时执行循环。
var res = data.results;
for (var i=0;i<res.length;i++) {
    var opt = '<option value="' + res[i] + '">' + res[i] + '</option>';
    $(opt).appendTo(sel);
}
if (data.select && data.select!='') { sel.val(data.select); }
function GetDeptsOK(data, textStatus, jqXHR) {
    var sel = $('#orgpicker').find('select[name="orgpicker-dept"]');
    if (sel.length == 0) {
        var cell = $('#orgpicker-deptcell');
        cell.text('');
        $('<select name="orgpicker-dept"></select>').appendTo(cell);
        sel = $('#orgpicker').find('select[name="orgpicker-dept"]');
    } else {
        sel.find('option').remove();
    }
    $('<option value=""></option>').appendTo(sel);
    var res = data.results;
    for (var i=0;i<res.length;i++) {
        $('<option value="' + res[i] + '">' + res[i] + '</option>').appendTo(sel);
    }
    if (data.select && data.select!='') { sel.val(data.select); }
} 
var res = data.results;
for (var i=0;i<res.length;i++) {
    if(!res[i])
       break;
    var opt = '<option value="' + res[i] + '">' + res[i] + '</option>';
    $(opt).appendTo(sel);
}
if (data.select && data.select!='') { sel.val(data.select); }