我有一个动态加载数据的csv文件,但由于某些原因,我的链接在HTML文件中无法点击。
以下是我的csv文件的内容:
class ItemA {
int id;
ItemA(int i) {
id = i;
}
public int getItemIdA() {
return id;
}
}
class ItemB {
int id;
ItemB(int i) {
id = i;
}
public int getItemIdB() {
return id;
}
}
private List<Integer> getRecentList(List<Integer> searchParams,
Function<List<Integer>, List<Object>> listGetter,
Function<Object, Integer> idGetter)
{
List<Object> itemList = listGetter.apply(searchParams);
List<Integer> idList = new ArrayList<>();
for (Object item: itemList)
{
idList.add(idGetter.apply(item));
}
return idList;
}
List<Integer> idList = getRecentList(searchParams,
(a) -> getItemList(a),
(item) -> ((ItemA) item).getItemIdA());
// or
List<Integer> idList = getRecentList(searchParams,
(a) -> getItemList(a),
(item) -> ((ItemB) item).getItemIdB());
这是我到目前为止的代码:
ID,City,Website,ZipCode
1,Florida,https://www.test.com,33601
2,Ohio,https://www.test.com,55555
3,Indiana,https://www.test.com,46032
现在,当数据加载到HTML文件中时,我的链接只是静态文本。我如何根据我在csv文件中的内容将它们渲染为可点击?
答案 0 :(得分:2)
只需将最后一列放在<a>
标记中即可。另外,对于3d单元格(rowCell==2
),您需要添加一些不同的内容:
table += '<td><a href="';
table += rowCells[rowCell]; //The actual link
table += '">';
table += rowCells[rowCell]; //What's displayed on screen, could be changed
table += '</a></td>';
第二个rowCell
是屏幕上显示的内容 - 如果您愿意,您可以显示已编辑的网址版本。
实现此方法的一种方法是保持代码的其余部分不变,即更改:
} else if(rowCells[0]==a){
table += '<td>';
table += rowCells[rowCell];
table += '</td>';
}
到
} else if(rowCells[0]==a) {
table += '<td>';
if (rowCell == 2) table += '<a href="'
table += rowCells[rowCell];
if (rowCell == 2) {
table += '">';
table += rowCells[rowCell]; //This can be changed to table += 'click here!';
table += '</a>';
}
table += '</td>';
}