代码之家  ›  专栏  ›  技术社区  ›  Norbert Pushparaj Yuvaraj

jquery:串联导致未定义

  •  1
  • Norbert Pushparaj Yuvaraj  · 技术社区  · 14 年前

    我试图在一个选择中显示10个选项标记。这个 文本() 是当前值。所以如果这个值与 ,显示“已选择”。

    var n, select, option;              
    for(var i=10; i>=1; i--) {  
        n = notaDt.text();
        select = ( i == n ? "selected" : "");
        option = option + '<option value="' + i + '" ' + select + ' >' + i + '</option>';
    }
    

    问题出在 选项=选项+… 它返回 “未定义” 当它被调用时(如下所示),但一切正常。

    http://img821.imageshack.us/img821/2951/screenshot20101129at749.png

    是否有其他连接方法可以尝试不获取此消息?谢谢!

    3 回复  |  直到 14 年前
        1
  •  4
  •   Nick Craver    14 年前

    您需要从空字符串开始 option ,像这样:

    var n, select, option = "";  
    

    否则,第一次连接时 选项 (在那一点上, undefined 你得到 "undefined" 当你得到 未定义 .

        2
  •  3
  •   Jacob Relkin    14 年前

    你需要设置 option 到初始空白字符串-如下所示:

    var n, select, option = "";
    

    为什么不使用 += 而不是 option = option + -这只是我的意见。

        3
  •  0
  •   James Kovacs    14 年前

    在第一次连接之前,最初的选项是未定义的。为什么不先把它设置为空字符串呢?

    var n, select;
    var option = "";
    for(var i=10; i>=1; i--) {  
        n = notaDt.text();
        select = ( i == n ? "selected" : "");
        option = option + '<option value="' + i + '" ' + select + ' >' + i + '</option>';
    }