在下面的示例中,我将选择列表选项从一个字段复制到另一个字段(从id“email”到“Mail”)。因此,如果我选择“帐户”,它将被添加到文本搜索字段中。此问题与“搜索”字段有关。即使该值正在文本搜索框中进行复制/粘贴,但在我手动按下该搜索框中的任何键之前,搜索不会显示任何结果。有人可以建议我如何解决这个问题?
我正在使用filterz搜索模型来填充每个按下的键的搜索结果 - http://yiotis.net/filterizr/
$(function() {
$("#email").change(function() {
$('#mail').val(this.value);
});
});
<form id="form1">
<select id="email" name="a" size="5" style="width: 400px;">
<option value="Account">Account</option>
<option value="Outlook">Outlook</option>
<option value="Mobile">Mobile</option>
</select>
</form>
<form id="form2">
<input name="text" type="text" data-search="data-search" id="mail" />
</form>
答案 0 :(得分:0)
只需在设置值后调用#mail上的更改事件。
$(function() {
$("#email").change(function() {
$('#mail').val(this.value);
$('#mail').change();
});
$('#mail').change(function(){
console.log("serach now");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1">
<select id="email" name="a" size="5" style="width: 400px;">
<option value="Account">Account</option>
<option value="Outlook">Outlook</option>
<option value="Mobile">Mobile</option>
</select>
</form>
<form id="form2">
<input name="text" type="text" data-search="data-search" id="mail" />
</form>
答案 1 :(得分:0)
您需要手动触发keyup
事件,如下所示:
$(function() {
$("#email").change(function() {
$('#mail').val(this.value).trigger("keyup"); // manually trigger keyup event
});
});
<form id="form1">
<select id="email" name="a" size="5" style="width: 400px;">
<option value="Account">Account</option>
<option value="Outlook">Outlook</option>
<option value="Mobile">Mobile</option>
</select>
</form>
<form id="form2">
<input name="text" type="text" data-search="data-search" id="mail" />
</form>