我正在尝试删除动态文件列表中每个下拉项的最后四个字符。
我在阅读this thread后尝试使用javascript spice语法,但它似乎删除了列表中其他项的完整字符串,而不仅仅是字符。 map.entries = {
0: {"0", foo },
1: {"1", "bar"}
2: {"2", 2000 }
}
我不确定我的做法有什么问题。
list = list.slice(0, -1);
答案 0 :(得分:1)
试试这个
$.each(list,function(i){
list[i].slice(0, -4);
});
假设您已将文件排序到列表对象中..
或只是替换你的代码
for (var i in list) {
$("filename").append("<option>" + list[i] + "</option>");
}
带
$.each(list, function(i){
list[i] = list[i].slice(0,-4);
$("filename").append("<option>" + list[i] + "</option>");
})
答案 1 :(得分:0)
您正在切割数组而不是字符串。
尝试在此循环中使用切片。
for (var i in list) {
list[i] = list[i].slice(0, -4); //remove last 4 characters
$("filename").append("<option>" + list[i] + "</option>");
}
更新:回答评论,
您可以使用
for (...) {
// use value attribute to ensure that the value is used in its entirety.
$("filename").append("<option value='" + list[i] + "'>" + list[i].slice(0, -4) + "</option>");
}