如何动态更改点击的var值?

时间:2019-01-04 16:46:41

标签: javascript html

实际上,在我的网站上,我有一个表,其中每个版本都有很多下载链接,因此我可以更改用户尝试下载的文件版本。

就像这里是我桌子上的物品之一:

<tr>
    <td> App</td>
    <td id="0.9.0">0.9.0</td>
    <td>02/01/2019</td>
    <td><a href="#" aria-disabled="true" data-toggle="modal" data-target="#exampleModalCenter" onclick="version = document.getElementById("0.9.0").innerText; alert.version;>Download</a></td>
</tr>

按下载后,我会打开引导程序模版,在其中应输入正确的密码,然后用户按下载后,它应下载正确的文件版本。

这是我在模式按钮的onClick中使用的方法:

<script>
    var input = document.getElementById("Key");
    var btn = document.getElementById("download");
    var version;

    btn.addEventListener("click", function () {
        if (input.value == "1234") {
            window.location = '/App/App_0.9.0.apk'; (this 0.9.0 should be dynamic)
            $("#exampleModalCenter").modal('hide')
        }
    });
</script>

更新后(Oen44回答):

我已将标签更改为此:

<tr>
    <td>App</td>
    <td>0.9.0</td>
    <td>02/01/2019</td>
    <td><a href="#" aria-disabled="true" data-toggle="modal" data-target="#exampleModalCenter" data-version="0.9.0" onclick="version = this.getAttribute('data-version');">Download</a></td>
</tr>
<tr>
    <td>App</td>
    <td>0.2.3</td>
    <td>02/01/2019</td>
    <td><a href="#" aria-disabled="true" data-toggle="modal" data-target="#exampleModalCenter" data-version="0.2.3" onclick="version = this.getAttribute('data-version');">Download</a></td>
</tr>

尽管脚本仍然相同:

var input = document.getElementById("Key");
var btn = document.getElementById("download");
let version;

btn.addEventListener("click", function () {
    if (input.value == "1234") {
        window.location = '/App/App_${version}.apk';
        $("#exampleModalCenter").modal('hide')
    }
});

但是当我尝试下载文件时却什么也没变

1 个答案:

答案 0 :(得分:3)

两件事要改变

<td id="0.9.0">0.9.0</td>-请勿使用该格式作为ID。

<td id="app-version">0.9.0</td>-更好

let version = document.getElementById('app-version').innerText;
window.location = `/App/App_${version}.apk`; // now with generate /App/App_0.9.0.apk

编辑

<a href="#" data-version="0.9.0" onclick="version = this.getAttribute('data-version');">Download</a>

Edit2

如果要使用${}在JS中格式化字符串,则字符串必须在``

`/App/RealcoApp_${version}.apk`