我想根据用户的输入更改链接的href,到目前为止我有这个:
<input type="text" id="pdf" value="Enter ID" />
<a class="target" href="#">Download</a>
和
function URL() {
var newurl = $('#pdf').val();
$('a.target').attr('href', newurl);
}
然而,这不符合预期。我只想将下载URL更改为输入文本的值。因此,如果我写“123”链接将转到“123”,但没有任何改变。
可能我错过了什么,我已经阅读了关于动态更改href的答案,但我有点卡在这里。要么这是不可能的,要么我做错了。
由于
编辑: 我错误地离开了这个功能,忘了把它叫做
编辑2: 它现在从文本框中获取值,但不会动态更改。
答案 0 :(得分:6)
可以改变href,但是你是否已将更改侦听器绑定到输入字段?
这应该是诀窍:
$(document).ready(function() {
$('#pdf').change(function() {
var newurl = $('#pdf').val();
$('a.target').attr('href', newurl);
});
});
答案 1 :(得分:1)
你忘记了模糊或改变事件
$("#pdf").blur(URL);
答案 2 :(得分:1)
您忘记将更改事件添加到输入中。一个很好的简短方法是:
$("#pdf").live("change keypress keyup", function() {
$("a.target").attr("href", (this).val());
});
答案 3 :(得分:0)
我不确定您希望您的功能何时执行,因为您没有告诉我们您已订阅任何活动等;但这应该简单地解决你的问题:
$("#pdf").change(function() {
$(".target").attr("href", $(this).val());
});