複数のファイル名を持つ列を含むテーブルがあります。ファイル名は、実際には URL を指すリンクと、ローカル ファイルを指すリンクです。ローカル ファイルを正常にダウンロードし、個別にクリックすると、新しいウィンドウで URL を指すことができます。
ただし、 内の js 関数を介してファイル名を渡して動的にこれを実行しようとするhref
と、Uncaught SyntaxError: Unexpected token :
. これは、パラメーターを指定せずに js 関数を呼び出すだけでは問題にならないようですが、すべてのリンクは列の最後のファイル名を指しています。ブラウザの下部にjavascript:openLink(filename)
適切なファイル名が表示されますが、その後エラーが発生します。
これは私のコードです:
function searchAjax(){
var $table = $("#tableGrid").tablesorter(),
$tbody = $table.children("tbody");
$.ajax({
dataType: 'json',
url: 'table_results',
type: 'GET',
data: $('#filterForm').serialize(),
success: function(data) {
$("#tableGrid").find("tr:gt(0)").remove();
$.each(data, function(index, result) {
function openLink(value){
var link = value;
if(link.indexOf("http") > -1 ){
window.open(link, "_blank");
}
else{
location.href="/projectv1?fileName="+link;
}
};
$tbody.append(
"<tr>" +
"<td>" + result.regionCode + "</td>" +
"<td>" + result.nationCode + "</td>" +
"<td>" + '<a href="javascript:openLink('+result.link+')" target="_blank">link</a></td>"' +
"</tr>");
});
$("#tableGrid").trigger("update");
}
});
};