这个简单的JavaScript有什么问题?

时间:2016-03-03 18:13:25

标签: javascript

我可以确认this.batch_well_range_columns()。length将返回8的整数。

    var column_html = "<select>";
    for (i = 0; i < this.batch_well_range_columns().length; i++) {
        column_html + "<option value=" +  this.batch_well_range_columns()[i] + ">" + this.batch_well_range_columns()[i] + "</option>";
    }
    column_html + "</select>";
    console.log(column_html)
    return column_html

最后一个console.log()只返回select标签。它完全忽略了循环。

3 个答案:

答案 0 :(得分:3)

尝试正确连接。使用+=

var column_html = "<select>";
for (i = 0; i < this.batch_well_range_columns().length; i++) {
    column_html += "<option value=" +  this.batch_well_range_columns()[i] + ">" + this.batch_well_range_columns()[i] + "</option>";
}
column_html += "</select>";

a += ba = a+b;的缩写形式所以在我们的例子中,column_html +“somthing”将执行字符串连接,但是没有变量可以接收返回值。

答案 1 :(得分:0)

你应该切换

column_html + // ...

column_html = column_html + // ...

这样,您可以修改column_html

否则,你正在创建新的字符串,但它们没有被分配给任何东西!

答案 2 :(得分:0)

 column_html + "<option value=" +  this.batch_well_range_columns()[i] + ">" + this.batch_well_range_columns()[i] + "</option>";
    }
 column_html + "</select>";

您需要+=才能进行字符串连接。

 column_html += "<option value=" +  this.batch_well_range_columns()[i] + ">" + this.batch_well_range_columns()[i] + "</option>";
    }
    column_html += "</select>";