我正在尝试使用for循环我的数组并更改第一个字母,如果它是一个特定的字母,问题是循环只适用于第一个数组元素。
如果数组是A123, A345, A567
,那么它只会更改A123 To L123
这是我的代码
$("#at").click(function() {
var str= $("#field").val();
var res = str.split(" ");
var index =0;
for (index= 0; index<res.length; index++) {
if (res[index].substring(0,1) =='A') {
res[index] = res[index].substring(1);
res[index] = "L" + res[index];
}
}
$("#field").val(res);
我仍然是JQuery的新手,所以如果有更好的方法来做到这一点,请帮助
答案 0 :(得分:2)
您的res
数组正确设置为["L123,", "L345,", "L567"]
。
当您尝试使用$("#field").val(res)
输出此值时,您将#field
的值设置为数组,该数组具有不可预测的结果(并且可能会有不同的跨浏览器)。值应为字符串。
请尝试使用最后一行:
$("#field").val(res.join(" "));
将在显示之前将数组连接回字符串。