所以我有2个输入。两者都是“自动完成”。我也有2个函数做同样的事情......每个输入调用一个不同的函数onBlur。问题是第二个选择第二个输入的“建议”时,它填充第一个。我该怎么做才能使第二个填充第二个?
可能有更好的方法,但我的jQuery / Javascript知识有限,而且我的时间不多了......谢谢!
代码:
function fillLocation(thisValue) {
$('#location-box').val(thisValue);
setTimeout("$('#suggestionsLocation').fadeOut('fast');", 200);
}
function fillTerms(thisValue) {
$('#terms-box').val(thisValue);
setTimeout("$('#suggestionsTerms').fadeOut('fast');", 200);
}
<input type="text" name="search_location" id="location-box" value="" onkeyup="suggestLocation(this.value);" onblur="fillLocation();" autocomplete="off" />
<input type="text" name="search_terms" id="terms-box" value="" onkeyup="suggestTerms(this.value);" onblur="fillTerms();" autocomplete="off" />
答案 0 :(得分:2)
我想我假设您想要为具有类似功能的两个输入触发键盘和模糊事件,这将反过来影响相同的输入。
这将是一种方式。用javascript绑定事件,而不是HTML,并运行正确的代码
$('document').ready(function() {
$('#location-box,#terms-box')
.bind('keyup', function() {
// do your keyup thing using $(this)
// to refer back to the input
//$('body').append($(this).attr('id') + ': keyup<br />');
var theValue = $(this).val();
})
.bind('blur', function() {
// do your blur thing using $(this)
// to refer back to the input
//$('body').append($(this).attr('id') + ': blur<br />');
})
});
<input type="text" name="search_location" id="location-box" value="" autocomplete="off" />
<input type="text" name="search_terms" id="terms-box" value="" autocomplete="off" />
编辑:
取消注释$('body')行以查看正在运行的事件。
希望这就是你要找的东西。
编辑:添加到keyup事件的代码以检索值