动态链接更改

时间:2016-12-19 17:01:37

标签: jquery html hyperlink

我正在寻找帮助我建立动态链接的解决方案。

假设我有一个类似的基本链接:

<a href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>

如果我有一个按钮或输入,让用户用另一个链接替换该链接我将如何进行呢?

示例:

用户想要将上面的链接更改为:

<a href="~/Test2/Test2.pdf" target="_blank">Test Dynamic Links</a>

因此,用户可以点击<input type="file" />按钮..浏览到~/Test2/Test2.pdf,然后点击“打开”。如何使用文件资源管理器将前一个链接的href值更改为新值?

请记住,链接的文字不会改变。

如果我能澄清任何事情,请告诉我。

感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

  $(".upload").change(function() {
    $(this).prev('a').attr('href',$(this).val());
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>
<input type="file" class="upload">

所以,你必须调整选择器(可能),但这是基本的例子......

答案 1 :(得分:1)

  

因此,用户将单击按钮..浏览到〜/ Test2 / Test2.pdf并单击“打开”。如何使用文件资源管理器将上一个链接的href值更改为新链接?

答案你不能。您无法使用JavaScript读取客户端计算机路径。这是所有浏览器遵循的安全限制。

即使您使用$('#yourFileInput').val()获取文件路径,它也会为您提供保护用户信息的虚假路径。

但是你可以获得filename。如果这对你有用。

答案 2 :(得分:0)

您使用jQuery标记了帖子,所以这里是如何使用jQuery更改属性:

HTML:

<a class="testlink" href="~/Test/Test.pdf" target="_blank">Test Dynamic Links</a>

JS:

var link = "~/Test2/Test2.pdf"; //set var to new href
$('.testlink').attr('href', link); //set link href to var