【发布时间】:2021-07-05 18:53:01
【问题描述】:
这是我的代码:
$(document).ready(function() {
$('#test-input, #input').on('change', function(e) {
var linkElement = $('#the-link');
// get value user typed in
var inputFieldValue = e.target.value;
var input = e.target.value
// compose route using baseRoute (generated by Laravel)
var baseRoute = linkElement.data('baseroute');
// set it as href
linkElement.attr('href', baseRoute + inputFieldValue + input);
});
});
我需要从 ID 为 #test-input 和 #input 的这两个输入中获取价值,现在它只能从最后一个 #input 中获取。
我怎样才能e.target 得到他们两个?请帮忙
【问题讨论】:
-
我没有看到任何应该让它只从
#input获取值的东西。这就是为什么您使用e.target.value而不是硬编码特定元素的原因。 -
为什么需要两个变量
inputFieldValue和input引用同一个东西? -
所以你在第一个输入改变时得到
linkElement.attr('href', baseRoute + "A" + "A");,在第二个输入改变时得到linkElement.attr('href', baseRoute + "B" + "B");。 -
只需执行
const value1 = $('#test-input').val(), value2 = $('#input').val();并完全忽略事件对象 -
添加到@charlietfl 评论:然后
linkElement.attr('href', baseRoute + value1 + value2);
标签: javascript jquery dom jquery-selectors dom-events